首页  >  文章  >  web前端  >  React如何结合mobx?react结合mobx详解(附实例)

React如何结合mobx?react结合mobx详解(附实例)

寻∝梦
寻∝梦原创
2018-09-11 14:44:182144浏览

本篇文章主要的介绍了关于react结合mobx的详解,有兴趣的同学可以在下方一起讨论。下面就让我们一起来看看本篇文章吧

1. npm install mobx mobx-react --save

2. npm install babel-plugin-transform-decorators-legacy --save-dev

3. package.json中配置

"babel": {
"presets": [
"react-app"
],
"plugins": [ 
["transform-decorators-legacy"]       
]
}

4. 创建Store.js

import {observable, action, useStrict} from 'mobx';
useStrict(true);
class Store {
@observable num = 1;
@action plus(){
this.num ++;
}
@action minus(){
this.num --;
}
}
export default Store;

5. 在index.js中加入Store

import {Provider} from 'mobx-react';
import Store from './utils/Store';
const store = new Store();
ReactDOM.render(
<Provider store={store}>
<Routes/>
</Provider>,
document.getElementById(&#39;root&#39;));

6. 在Main.js中使用状态(想看更多就到PHP中文网React参考手册栏目中学习)

import {observer,inject} from &#39;mobx-react&#39;;
@inject("store") @observer
class Main extends Component {
render() {
let {num} = this.props.store;
 return <p>
<p>{num}</p>
<button onClick={()=>{this.props.store.plus()}}>加1</button>
<button onClick={()=>{this.props.store.minus()}}>减1</button>
</p>
}
}

7. 实现效果

58.png

点击“加1”之后,变成

59.png

实现了计数器的功能。

本篇文章到这就结束了(想看更多就到PHP中文网React使用手册栏目中学习),有问题的可以在下方留言提问。

以上是React如何结合mobx?react结合mobx详解(附实例)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn