在React / Redux应用程序中获取JWT令牌的位置

时间:2018-01-06 16:16:35

标签: reactjs redux react-redux

我需要尽早从后端抓取JWT token。在哪里进行API调用的正确位置,以便我在React/Readux应用的生命周期的早期处理这个问题?

2 个答案:

答案 0 :(得分:0)

您可以向routes.js添加一个函数,该函数将进行API调用以获取令牌。然后,您可以在进入应用程序时调用此函数(通过react-router onEnter属性)。

如果您使用的是react-router< v4,否则this帖子可以提供帮助。

...
function requireToken(){
  // Make API call to get token
};

export default(
  <Router history={browserHistory}>
    <Route path="login" component={LoginPage} />
    <Route path="/" component={App} onEnter={requireToken}>
      <Route path="/dashboard" component={Dashboard} />
      ...
    </Route>
  </Router>
)

答案 1 :(得分:0)

我觉得你的反应和减少方法有些不妥。即使没有令牌,您的应用也应该呈现正常。如果你有一个商店(或者可能是减速器),这取决于该令牌,这是不正确的。我建议重新考虑自举,并使其不需要外部数据。这将改善用户体验和开发人员的体验,因为这会让你在单向思考。