create-react-app 需要反弹eject 推荐:https://www.cnblogs.com/ygxdbmx/p/9845241.html
或者使用:cnpm i mobx mobx-react --save
create-react-app 项目的名字 --scripts-version custom-react-scripts
在第一步:/state/index
import {observable,autorun,reaction,action} from "mobx"
class Store {
@observable numb=4;
@action
inc(){
this.numb++;
}
}
var store=new Store();
autorun(()=>{
console.log(store.numb)
})
export default store;
第二步 根目录的 index.js
import {Provider as Prov} from "mobx-react"
ReactDOM.render(
<Prov store={store}>
<App />
</Prov>
, document.getElementById('root'));
第三步:
app.js使用的组件
import {inject,observer} from "mobx-react"
@inject("store")
@observer
class App extends Component {
inc=()=>{
this.props.store.inc()
}
render() {
return (
<div className="App">
<div>{this.props.store.numb}<button onClick={this.inc}>ksk</button></div>
</div>
);
}
}