我正在使用 react-router 3,这是我的路线的代码:
export default (
<Route>
<Route path="login" component={LoginPage}/>
<Route path="/" component={App}>
<IndexRoute component={Dashboard}/>
<Route path="dashboard" component={Dashboard}/>
<Route path="form" component={FormPage}/>
<Route path="table" component={TablePage}/>
<Route path="*" component={NotFoundPage}/>
</Route>
</Route>
);
这是我的主要内容Index.js
,其中包括Provider
from mobx-react
:
import React from 'react';
import { render } from 'react-dom';
import { Router, browserHistory } from 'react-router';
import routes from './routes';
import { Provider } from 'mobx-react';
import injectTapEventPlugin from 'react-tap-event-plugin';
require('./favicon.ico');
import './styles.scss';
import 'font-awesome/css/font-awesome.css';
import 'flexboxgrid/css/flexboxgrid.css';
import store from './Store.js';
injectTapEventPlugin();
render(
<Provider store={store}><Router routes={routes} history={browserHistory} /></Provider>, document.getElementById('app')
);
store.js
看起来像这样:
import { autorun, observable } from 'mobx';
class appStore {
@observable userSession = {
isUserLogged: false,
id: 0,
name: '',
token: '',
memberId: 0,
membershipId: 1000
}
}
let store = window.store = new appStore;
export default store;
//test
autorun(()=> {
console.log(JSON.stringify(store.userSession));
})
我已经为我的 react 应用设置了 mobx,autorun
可以登录我的商店。然后我Provider
在我的路由器周围添加并尝试在我的中记录道具App.js
,我根本没有收到我的商店。
我添加@observer
了我的App
组件并尝试记录我的道具以检查我的商店是否正在传递,但我没有得到它。
有谁知道为什么?提前致谢。