时间:2021-07-01 10:21:17 帮助过:12人阅读
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. 实现效果

点击“加1”之后,变成

实现了计数器的功能。
本篇文章到这就结束了(想看更多就到PHP中文网React使用手册栏目中学习),有问题的可以在下方留言提问。
以上就是React如何结合mobx?react结合mobx详解(附实例)的详细内容,更多请关注Gxl网其它相关文章!