【发布时间】:2018-03-08 09:09:54
【问题描述】:
我正在将 react js 与 mobx 一起使用,我正在尝试在提供程序中传递商店并使用它,但似乎它不是由提供程序传递的,我无权访问它。 此外,当我尝试注入 UserStore 时,Web 应用程序失败并抛出 UserStore 不可用的错误
import { Switch, Route} from 'react-router-dom';
import React, {Component} from 'react';
import {Router} from 'react-router-dom';
import createBrowserHistory from 'history/createBrowserHistory';
import {Provider} from 'mobx-react'
import { TodoStore,UserStore, ModalsStore} from '../stores'
import App from './App';
import {Login} from '../screens'
const stores = { UserStore}
const browserHistory = createBrowserHistory();
export default class Root extends Component {
render() {
return (
<Provider stores={stores}>
<Router history={browserHistory}>
<Switch>
<Route exact path='/login' component={Login}/>
<Route component={App}/>
</Switch>
</Router>
</Provider>
)
}
}
我的 App 组件的一部分
@observer
export default class App extends Component {
constructor(props){
super(props);
console.log('appProps',props)
}
render() {
...........
}
用户存储
import {observable,action} from 'mobx'
class UserStore {
@observable token = false
@observable first_name = '';
@observable last_name = ''
@action setUser(data) {
this.token = data.token;
this.first_name = data.first_name;
this.last_name = data.last_name;
}
@action updateUser(data) {
this.first_name = data.first_name;
this.last_name = data.last_name;
}
@action setToken(token){
this.token = token;
}
}
const singelton = new UserStore()
export default singelton
我正在尝试使用 userStore 并获得访问权限,但在控制台中我得到了
【问题讨论】:
标签: reactjs mobx mobx-react