【发布时间】:2018-06-15 04:33:06
【问题描述】:
我在 utils 中有一个功能可以做到这一点:
export function getUserRole() {
return (
localStorage.getItem('token') &&
jwtDecode(localStorage.getItem('token')).role
)
}
我在这样的组件中调用它
class App extends Component {
constructor(props) {
this.role = getUserRole()
}
render() {
console.log(this.role) //admin, member
return (
<Provider store={this.role === 'member' ? store : adminStore}>
<BrowserRouter>
<div className="App">
<Switch>
<Route path="/login" component={Login} />
</Switch>
</div>
</BrowserRouter>
</Provider>
)
}
}
如何在此处切换商店?上面的代码有效,但如果角色是成员,将首先加载 adminStore 然后加载 store。如何防止将 store 和 adminStore 同时加载到我的应用程序中?
【问题讨论】:
标签: javascript reactjs ecmascript-6 redux