生命周期
componentWillMount
在微信小程式中這一生命周期方法對應頁面的onLoad或入口檔案app中的onLaunch
componentDidMount
在微信小程式中這一生命周期方法對應頁面的onReady或入口檔案app中的onLaunch,在 componentWillMount後執行
componentDidShow
在微信小程式中這一生命周期方法對應 onShow
componentDidHide
在微信小程式中這一生命周期方法對應 onHide
componentDidCatchError
錯誤監聽函數,在微信小程式中這一生命周期方法對應 onError
componentDidNotFound
頁面不存在監聽函數,在微信小程式中這一生命周期方法對應 onPageNotFound
shouldComponentUpdate
頁面是否需要更新
componentWillUpdate
頁面即将更新
componentDidUpdate
頁面更新完畢
componentWillUnmount
頁面退出,在微信小程式中這一生命周期方法對應 onUnload
在小程式中 ,頁面還有一些專屬的方法成員,如下:
1. onPullDownRefresh: 頁面相關事件處理函數–監聽使用者下拉動作
2. onReachBottom: 頁面上拉觸底事件的處理函數
3. onShareAppMessage: 使用者點選右上角轉發
4. onPageScroll: 頁面滾動觸發事件的處理函數
5. onTabItemTap: 目前是 tab 頁時,點選 tab 時觸發
6. componentWillPreload: 預加載,隻在微信小程式中可用
注意
1.通常入口檔案會包含一個 config 配置項,這裡的配置主要參考微信小程式的全局配置而來,在編譯成小程式時,這一部配置設定置将會被抽離成 app.json,而編譯成其他端,亦會有其他作用。
2.入口檔案繼承自 Component 元件基類,它同樣擁有元件生命周期,但因為入口檔案的特殊性,他的生命周期并不完整,如:componentWillMount、componentDidMount、componentDidShow、componentDidHide、componentDidCatchError、componentDidNotFound。
3.入口檔案需要包含一個 render 方法,一般傳回程式的第一個頁面,但值得注意的是不要在入口檔案中的 render 方法裡寫邏輯及引用其他頁面、元件,因為編譯時 render 方法的内容會被直接替換掉,你的邏輯代碼不會起作用。
4.Taro 支援元件化開發,元件代碼可以放在任意位置,不過建議放在 src 下的 components 目錄中。一個元件通常包含元件 JS 檔案以及元件樣式檔案,組織方式與頁面類似。
taro項目目錄如下:
├── config 配置目錄
| ├── dev.js 開發時配置
| ├── index.js 預設配置
| └── prod.js 打包時配置
├── src 源碼目錄
| ├── components 公共元件目錄
| ├── pages 頁面檔案目錄
| | ├── index index 頁面目錄
| | | ├── banner 頁面 index 私有元件
| | | ├── index.js index 頁面邏輯
| | | └── index.css index 頁面樣式
| ├── utils 公共方法庫
| ├── app.css 項目總通用樣式
| └── app.js 項目入口檔案
└── package.json