我想使用Mobx管理我的react-project状态,但是我无法通过mobx-react从提供者那里获得道具。
这是我的根元素(我删除路由器以简化问题):
import React from "react";
import ReactDOM from "react-dom";
import {Router, Route, hashHistory} from "react-router";
import {Provider} from "mobx-react";
import store from "../store";
import App from "./app";
ReactDOM.render((
<Provider store={store}>
<App/>
</Provider>),
document.getElementById("content"));
这是我的childNode:
import React, {Component} from "react";
import {observer, inject, PropTypes} from "mobx-react";
@inject("store") @observer
export default class App extends Component {
constructor(props) {
super(props);
console.log(this.props.store);
}
render() {
return (
<div>
ab
</div>
)
}
}
App.propTypes = {
store: PropTypes.observableObject
};
但是当我登录商店时,结果是不确定的,我不知道为什么我不能到商店。
从chrome devtools,我发现提供商有商店但App无法获得商店,我很困惑。
我的商店如下:
import {observable} from "mobx";
class Store {
@observable count;
constructor() {
this.count = 1;
}
addCount() {
this.count += 1;
}
decreaseCount() {
this.count -= 1;
}
}
let store = new Store();
export default store;