entry task涉及知識點記錄

目的:

回顧時知道自己今天做了什麼,以便更好地梳理後記住知識點

 

待解決的問題

內容顯示隱藏不影響佈局?

在login時就已經執行listScene的內容了,why?

rn的樣式到底怎麼看?雖然看起來就是選擇MDPI@1,但是爲什麼?

rn樣式狂虐,rn組件長什麼樣,有設麼用都不懂

 

 

rn內容顯示隱藏

{condition(jsx)}

 

react navigation - Configuring the header bar by:

static navigationOptions = {

header:null

};

 

rn 爲請求統一加上請求頭token

方案
1.引入redux :有點猛,好大一框架

2.自己寫全局單例存儲配合set/get,類似小型redux:使用閉包內存泄漏方式似乎是不可行的,因爲不同地方import都是重新執行一遍。所以必須掛載到global上了。

 

關於es6 import:

遇到import foo from 'xxx'語句的時候就開始執行被import文件的內容,

執行完畢後foo存儲的是一個內存地址(如果複雜對象)

 

調研抽屜滑側菜單:手寫與三方組件:

手寫沒必要,一般使用第三方

npm install react-native-side-menu --save

好文鏈接:https://segmentfault.com/a/1190000015870219

 

代碼的console.log出現在mac terminal of npm上!

(出現在起服務的服務器上,而不是模擬器的控制檯,說明了什麼?)

(node xxx.js:跑node腳本里的console.log會出現在同樣的地方)

 

rn中吸頂和吸底

定死高度+中間層flex:1
 

ios頂部條的解決方案:

1、設置20的空餘(margin/padding)或

2、引入statusBar(in react-native),<StatusBar hidden={true}/>

 

rn中引入並使用svg

(參考源https://blog.csdn.net/Crazy_SunShine/article/details/80906624

=>跑起node腳本 ($ node xxx.js)

知識點:__dirname 總是指向被執行 js 文件的絕對路徑

本次跑了一個網上的腳本,把svg轉成js,其中語句const svgDir = path.resolve(__dirname, './svgs'); 

__dirname經打印後顯示爲/Users/dianyilan/Desktop/nodeScript

路徑join後識別到SVGs的文件夾(順便說明了fs.readFile對路徑名大小寫不敏感),成功生成了js

=>寫svg component組件,import SvgUri from 'react-native-svg-uri'; 因此需要安裝該包

=>查詢react-native-svg-uri 官方指南

npm install react-native-svg-uri --save

link react-native link react-native-svg # not react-native-svg-uri !!! 

但是expo guide裏有說expo本身通過react-native-svg實現svg的api,

參考之前expo自帶react-navigation後不需要link或install否則報錯的經驗,

沒有做任何關於react-native-svg的操作,直接跑項目,顯示SVG圖標OK!

=>另外的問題:svg圖標只能顯示黑色,修改Svg組件參數無效。因爲svg文件的path節點沒有fill屬性。加上即可<path fill="#FFF">

=>svg圖片有些格式不同(time)或是某些部分缺失,在項目裏會報錯,目前是手動轉換格式,但應該有別的辦法,或者寫腳本來統一

 

react-native flex:1的含義

flex-grow: 1    主軸上放大比例。只有一個元素則撐滿

flex-shrink:1   主軸上縮小比例,即如果空間不足,該項目將縮小。

flex-shrink:1  在分配多餘空間之前,項目佔據的主軸空間。1就是100%

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章