react-native+mobx+typescript 开发

1、正常初始化一个RN项目:

react-native init Test

2、添加typescript组件,具体可以查看官网RN项目添加typescript:

npm install typescript -dev-save

新建typescript的配置文件:touch tsconfig.json 

参开配置:

react-native+mobx+typescript 开发_第1张图片

然后添加react和react-native的d.ts 文件,就能愉快用typescript进行开发。

npm install @types/react @types/react-native -dev-save

在引用第三方库的时候,要安装它的结构声明 d.ts 文件,不然会报类型错。

3、用mobx库管理state状态:

当RN的版本小于0.56时,建议安装mobx 4.5的版本。因为mobx5.0版本,会要求android的native jscore用新版本,就是最新支持的SDK是19。可以先看看:mobx使用配置

1)RN少于0.56:安装"mobx": "^4.5.2" 和 "mobx-react": "^5.3.6"后,在安装 install "babel-plugin-transform-decorators-legacy", 

You must also add the babel plugin to your .babelrc plugins configuration:

// .babelrc

{

  // omitting pre-existing configuration

  "plugins": [

    "transform-decorators-legacy"

  ]

}

2)RN大等于0.56:安装"mobx": "^5.5.1"和"mobx-react": "^5.3.4",

try installing @babel/plugin-proposal-decorators.

You’ll also need to set up your babel configuration in .babelrc a little differently:

{

  "presets": ["react-native"],

  "plugins": [

    [

      "@babel/plugin-proposal-decorators",

      {

        "legacy": true

      }

    ]

  ]

}

在.tsx文件直接引入

import { observable, action } from 'mobx';

import { observer, inject } from 'mobx-react';

就能用了。

4、mobx基本使用方式:

在最顶层的view里,如果有全局使用的store,例如AppStore,可使用mobx的Provider组件:

react-native+mobx+typescript 开发_第2张图片

我的项目用的是react-navigation库,其他页面可以这样获取appStore:

react-native+mobx+typescript 开发_第3张图片

用Mobx的inject 依赖注入方式获取Appstore:

react-native+mobx+typescript 开发_第4张图片
react-native+mobx+typescript 开发_第5张图片

这样子就可以正常开发。 参考项目代码https://github.com/sunny635533/RNTypescriptMobx

你可能感兴趣的:(react-native+mobx+typescript 开发)