本篇文章主要的介绍了关于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. 实现效果
点击“加1”之后,变成
实现了计数器的功能。
本篇文章到这就结束了(想看更多就到PHP中文网React使用手册栏目中学习),有问题的可以在下方留言提问。
以上是React如何结合mobx?react结合mobx详解(附实例)的详细内容。更多信息请关注PHP中文网其他相关文章!