React   发布时间:2019-10-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了React Native中Mobx的使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

今天开始我们来搞搞状态管理可否,这几天没怎么写博客,因为被病魔战胜了,tmd,突然的降温让我不知所措,大家最近注意安全,毕竟年底了,查的严,呸,大家注意保暖

  

  首先来个比较简单的,MobX。

  引用官网上的一句话:

    MobX 是一个经过战火洗礼的库,它通过透明的(transparently applying functional reactive progrAMMing - TFRp)使得状态管理变得简单和可扩展。MobX背后的哲学很简单:

  其中包括UI、数据序列化、服务器通讯,等等。

  上官网的图

  

title="React Native中Mobx的使用" alt="React Native中Mobx的使用" src="https://cn.js-code.com/res/2019/03-01/22/a4a8be576df372bd8f66f19a0a07765b.png" >

    环境我就不配了,官网给了详细的教程,我的环境是RN+TS,这里需要特别注意一下,由于Mobx要用的装饰器,如果单纯的用create-react-app安装好环境后,一定要特别特别注意:

    此时使用是不行的,因为不支持装饰器语法,

    此问题有两种解决方案:

https://cn.mobx.js.org/best/decorators.html

decorate  工具在不支持装饰器语法的情况加使用

)

              1.

    2.首先我们状态管理肯定会有一个仓库吧,那我们来建一个仓库,(注意:我创建了两个小的分支,因为状态管理总不可能怼到一个文件里面吧)

   

title="React Native中Mobx的使用" alt="React Native中Mobx的使用" src="https://cn.js-code.com/res/2019/03-01/22/00b4513e964a66d9a3891a15edd3599e.png" >

 

注意:

   

import { observable,action }

<span style="color: #0000ff;">class<span style="color: #000000;"> List {
@observable isShowMap: Boolean = <span style="color: #0000ff;">false<span style="color: #000000;">

@action
switchTab (info: Boolean) {
<span style="color: #0000ff;">this.isShowMap =<span style="color: #000000;"> info
}
}

export <span style="color: #0000ff;">default <span style="color: #0000ff;">new List()

  注意:

import { observable,action,runInAction }

<span style="color: #0000ff;">class<span style="color: #000000;"> List {
@observable listData: Array =<span style="color: #000000;"> []

@action
getListData () {
fetch(<span style="color: #800000;">'<span style="color: #800000;">https://ik9hkddr.qcloud.la/mock/cookbook-list.json<span style="color: #800000;">'<span style="color: #000000;">)
.then(reponse =><span style="color: #000000;"> reponse.json())
.then(result =><span style="color: #000000;"> {
runInAction(() =><span style="color: #000000;"> {
<span style="color: #0000ff;">this.listData =<span style="color: #000000;"> result.data
})
})
}
}

export <span style="color: #0000ff;">default <span style="color: #0000ff;">new List()

  注意:

import list store ={ list,home } export store

     

               注意:

  import React from 'react'
  import { Provider } from 'mobx-react'
  import Home
 {
  render() {
    
        
      

  

   4.最后一步,在组件中引用仓库里的数据,并可以修改仓库里的数据

         注意:1.引入observer和inject,将组件和仓库连接起来,类似于在React中使用react-redux中的connnect方法

import React { observer,inject } { View,Text,}

<span style="color: #0000ff;">interface<span style="color: #000000;"> Props {
}
<span style="color: #0000ff;">interface<span style="color: #000000;"> State {
}
<span style="color: #008000;">//<span style="color: #008000;">此处时引用最重要的步骤用inject和observer
@inject(<span style="color: #800000;">'<span style="color: #800000;">store<span style="color: #800000;">'<span style="color: #000000;">)
@observer
export <span style="color: #0000ff;">default <span style="color: #0000ff;">class Home extends React.Component<Props,State><span style="color: #000000;"> {
render () {
<span style="color: #0000ff;">return<span style="color: #000000;"> (
<span style="color: #000000;">
{<span style="color: #008000;">/<span style="color: #008000;"> 引用store里面储存的值 <span style="color: #008000;">/<span style="color: #000000;">}
{<span style="color: #0000ff;">this.props.store.home.isShowMap}

{ s.store.home.switchTab(value) } }

 到这里,今天的随笔已经结束了,可能写的不是那木有条理,若有错误还往各位同学指出,我嗓子已经说不出话来了,所以在这提醒各位同学

 学技术的同时一定要记得锻炼身体,我的天,少吃饭多吃药,多打代码多保健,活着最重要!

 告辞告辞

    

大佬总结

以上是大佬教程为你收集整理的React Native中Mobx的使用全部内容,希望文章能够帮你解决React Native中Mobx的使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: