React Native 跨平台APP開發課程 1/2

上次六月學習React相關課程與下半開始接觸Vue.js後,這次聽課真的覺得收穫有比六月時多,也更有感覺。

只提一些覺得不錯部分:
A. React.js:

1. {}裡面放「表達式」,舉個易誤會的例子:<Button onPress={{alignItems: 'center'}}>是{}放了一個物件,而非{{}}寫法。

2. 當props傳入Component內部時,為不可變更的固定值。

3. 每個Component的state都是獨立的。

4. 解構語法:e.g. const a = {component: 'abc'}; 等於 const {component} = a; 等於 var component = a.component; 等於 a.component == component

5. 當父元件是A,子元件是B:A傳遞值給B寫:this.state.xxx;B內部接收到A給的值寫:this.props.xxx。兩者角度不同,但皆傳接同一個值。

6. setState()為非同步function,如果需做「以舊值計算出新值」,需寫成:this.setState(prevState => ({count = prevState.count + 1}));

7. 生命週期中,shouldComponentUpdate可分true/false,但此時是為指「是否重繪virtual DOM」。在render時才為渲染真正的UI。componentWillUnmount一直不知做什麼用,直到老師說能將一些事件移除時才發現其用法。




B. React Native:

8. 之前做案子時有試過fetch,這次上課使用fetch API結合async與await或Promise,讓自己對此API使用有更多認識。

9. 這次教login時,意外發現和自己最近做的後台登入方式很像:先使用fetch API確認是否為合法登入者,如果登入成功,則將登入資訊儲存至AsyncStorage。就像我會先發送Ajax後,發現合法則存於Web Storage類似。

10.一般APP要實作「使用fb登入」的流程:先在facebook for developer中新增一個應用程式,取得應用程式ID和key -> 前端透過應用程式ID和key,設定iOS與Android的SDK設定整合 -> 可用官方LoginButton元件製作login鈕 -> 透過LoginManager登入取得權限 -> 透過Graph API取得如個人資料等權限資料。



留言

熱門文章