㈠ Taro中使用Mobx
在項目 src 目錄下新增一個 store/counter.js 文件
在項目入口文件 app.js 中使用 @tarojs/mobx 中提供的 Provider 組件將前面寫好的 store 接入應用中
在頁面中可通過 @tarojs/mobx 提供的 inject 以及 observer 方法將 mobx 與我們的頁面進行關聯
上例中 Provider、inject、 observer 的使用方式基本上與 mobx-react 保持了一致,但也有以下幾點需要注意:
在 mobx-react 中,可通過以下方式設置 store:
而在 @tarojs/mobx 中,我們需要使用以下方式設置:
按照以下方式使用 inject 時,不能省略 observer 的顯式調用:
在 Component 的 render 方法中,如果需要使用一個 observable 對象(該例中為 counter),需要:
而非:
如果使用 @observable 裝飾器來定義可觀察對象時,請確保該屬性已經初始化(這是很多情況下屬性值改變,頁面沒刷新的根源所在),比如:
自 1.2.0-beta.5 後,propTypes 已從 taro-mobx、taro-mobx-h5、taro-mobx-rn 中剝離,如需使用,請單獨進行安裝:
propTypes 使用與 mobx-react 一致。
參考文章: http://www.geekjc.com/post/5cab191109719f65d90cd3c4