欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ReactNative中Mobx的使用方法詳解

前言

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供武定企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為武定眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

從今天開始我們來搞搞狀態(tài)管理可否,這幾天沒怎么寫博客,因為被病魔戰(zhàn)勝了,tmd,突然的降溫讓我不知所措,大家最近注意安全,畢竟年底了,查的嚴(yán),呸,大家注意保暖

特別聲明:寫該文只是寫一下用MobX的思路,有很多地方我會直接放官網(wǎng)鏈接,因為官網(wǎng)已經(jīng)寫的夠詳細了

首先來個比較簡單的,MobX。

引用官網(wǎng)上的一句話:

MobX 是一個經(jīng)過戰(zhàn)火洗禮的庫,它通過透明的函數(shù)響應(yīng)式編程(transparently applying functional reactive programming - TFRP)使得狀態(tài)管理變得簡單和可擴展。MobX背后的哲學(xué)很簡單:

MobX 是一款精準(zhǔn)的狀態(tài)管理工具庫,對我來說非常容易學(xué)習(xí)和接受。我在 React 和 React Native 應(yīng)用中使用過 Flux、Alt、Redux 和 Reflux,但我會毫不猶豫地說,MobX 的簡單性立即成為了我最喜歡的狀態(tài)管理工具。我期望能將它運用在未來的項目中,并且對 MobX 的發(fā)展拭目以待。

任何源自應(yīng)用狀態(tài)的東西都應(yīng)該自動地獲得。其中包括UI、數(shù)據(jù)序列化、服務(wù)器通訊,等等。

上官網(wǎng)的圖

React Native中Mobx的使用方法詳解

環(huán)境我就不配了,官網(wǎng)給了詳細的教程,我的環(huán)境是RN+TS,這里需要特別注意一下,由于Mobx要用的裝飾器,如果單純的用create-react-app安裝好環(huán)境后,一定要特別特別注意:

此時使用@observable是不行的,因為不支持裝飾器語法,

此問題有兩種解決方案:1.在當(dāng)前環(huán)境中設(shè)置支持裝飾器,

下面是官網(wǎng)的詳細配置鏈接,https://cn.mobx.js.org/best/decorators.html

2.使用MobX的內(nèi)置的 decorate  工具在不支持裝飾器語法的情況加使用

接下來下面給你吃,不是,下面我用一個小例子來演示一下,Go,Go,Go(注意,我這里面默認裝飾器是可用的,因為我環(huán)境配好了已經(jīng))

1.yarn add mobx 

2.首先我們狀態(tài)管理肯定會有一個倉庫吧,那我們來建一個倉庫,(注意:我創(chuàng)建了兩個小的分支,因為狀態(tài)管理總不可能懟到一個文件里面吧)

首先上一手倉庫的結(jié)構(gòu)

React Native中Mobx的使用方法詳解 

home.tsx的代碼

注意:1. 從mobx中引入observable,action

2.用裝飾器修飾倉庫的數(shù)據(jù)

3.導(dǎo)出時需要new一下  

import { observable, action } from 'mobx'


class List {
 @observable isShowMap: boolean = false

 @action
 switchTab (info: boolean) {
 this.isShowMap = info
 }
}

export default new List()

list.tsx的代碼

注意:1.此處多加入了runInAction,不加此屬性當(dāng)然也可以,但是就不會記錄時間旅行了

import { observable, action, runInAction } from 'mobx'

class List {
 @observable listData: Array<any> = []

 @action
 getListData () {
 fetch('https://ik9hkddr.qcloud.la/mock/cookbook-list.json')
  .then(reponse => reponse.json())
  .then(result => {
  runInAction(() => {
   this.listData = result.data
  })
  })
 }
}

export default new List()

index.js的代碼

注意:在此處將兩個樹枝里面的數(shù)據(jù)都引入,合并到一起

import list from './list'
import home from './home'
const store = { list, home }
export default store

3.將倉庫綁定到根組件上

    注意:在此引入Provider將倉庫和根組件綁定

import React from 'react'
 import { Provider } from 'mobx-react'
 import Home from './pages/home/Home'
 import HotList from './pages/hotlist/HotList'
 import store from './store' 

export default class componentName extends React.Component {
 render() {
 return (
  <Provider store={store}>
  <RootStack></RootStack>
  </Provider>
 )
 }
}}

4.最后一步,在組件中引用倉庫里的數(shù)據(jù),并可以修改倉庫里的數(shù)據(jù)

注意:1.引入observer和inject,將組件和倉庫連接起來,類似于在React中使用react-redux中的connnect方法

import React from 'react'
import { observer, inject } from 'mobx-react'
import {
 View,
 Text,
} from 'react-native'

interface Props {
}
interface State {
}
//此處時引用最重要的步驟用inject和observer
@inject('store')
@observer
export default class Home extends React.Component<Props, State> {
 render () {
 return (
  <View>
  {/* 引用store里面儲存的值 */}
  <Text>{this.props.store.home.isShowMap}</Text>
  </View>
 )
 }
 componentDidMount () {
 //調(diào)用函數(shù)修改store里面的值
 this.props.store.home.switchTab(value)
 }
}

到這里,今天的隨筆已經(jīng)結(jié)束了,可能寫的不是那木有條理,若有錯誤還往各位同學(xué)指出,我嗓子已經(jīng)說不出話來了,所以在這提醒各位同學(xué)

 學(xué)技術(shù)的同時一定要記得鍛煉身體,我的天,少吃飯多吃藥,多打代碼多保健,活著最重要!

 總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。

標(biāo)題名稱:ReactNative中Mobx的使用方法詳解
文章起源:http://aaarwkj.com/article10/ispido.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站內(nèi)鏈、企業(yè)建站用戶體驗、網(wǎng)站營銷電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
伊人久久综在合线亚洲| 免费看的日韩av毛片| 四虎在线观看免费资源| 夫妻在线观看高清视频| 2020年最新国产三级网站| 香蕉网性欧美在线视频| 91九色国产成人久久精品| 色综合色狠狠天天综合色| 黄片免费视频大全在线观看| 亚洲精品中文字幕久久| 91午夜福利国产在线观看| 欧美一区二区三区久久妇| 欧美日韩在线不卡成人| 国产三级一区二区不卡| 天天操天天夜夜操夜夜| 久久精品色一情一乱一伦| 亚洲一区二区婷婷久久| 密桃精品一区二区三区在线观看| 国产亚洲加勒比久久精品| 快播av手机在线播放| 国产精品一区二区污网站| 欧美日韩国内在线视频| 国产精品第一区第二区| 日韩精品一区二区一牛| 内射久久一区二区亚洲| 精品毛片av一区二区三区| 在线视频天堂亚洲天堂| 东京热一精品无码av| 国产精品自产拍在线网站| 丁香六月色婷婷亚洲激情| 黑人精品一区二区三区| 亚洲福利一区二区三区| 亚洲欧美日韩国产亚洲欧美日韩国产 | 天堂av新版在线观看| 欧美日韩午夜福利视频| 91精品国产自产在线观看| 亚洲欧美国产日韩综合在线| 婷婷五五月深爱开心激情| 亚洲欧美成人自偷自拍一区| 亚洲精品国产av成人| 亚洲乱码在线中文字幕|