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中使用状态

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


7. 实现效果


点击“加1”之后,变成


实现了计数器的功能。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值