当前位置:Gxlcms > JavaScript > React如何结合mobx?react结合mobx详解(附实例)

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

时间:2021-07-01 10:21:17 帮助过:12人阅读

本篇文章主要的介绍了关于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('root'));

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

import {observer,inject} from 'mobx-react';
@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详解(附实例)的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行