javascript - 使用React、redux和react-redux-router进行登录验证: the proper way?

标签 javascript reactjs react-router

我有一个关于react、redux和react-redux-router的小问题。

这非常简单,但我不知道处理这个问题的最佳方法是什么,所以让我们开始吧。

我正在开发一个简单的应用程序,带有登录屏幕和一些限制身份验证用户访问的页面。

这是我的路由器:

   <Provider store={store}>
      <Router history={browserHistory}>
         <Route path={Config.baseUrl} component={App}>
            <Route path="login" component={Login} />
            <Route component={Administration}>
               <IndexRoute component={Statistics} />
               <Route path="page2" component={p2} />
            </Route>
         </Route>
      </Router>
   </Provider>

如果所有未登录的用户尝试访问<Route component={Administration}>中的任何页面,我想将他们重定向到日志页面(/login)。 .

那么实现这一目标的最佳方法是什么?我可以使用componentWillMount在每个子组件上,但我确信这不是一个好主意:)。我还尝试在我的Administration上找到一个钩子(Hook)。组件但没什么兴趣。

有什么建议吗?

子问题:我使用dispatch(routeActions.push())在页面之间导航。这很好用。但如果登陆页面(首次加载)不是“/”,则会抛出 404 错误。我必须首先转到“/”。

最佳答案

我只会使用 https://github.com/reactjs/react-router-redux并创建抽象组件 AuthorizedViewComponent,它将检查用户状态并将所有未登录的用户重定向到/login。

关于javascript - 使用React、redux和react-redux-router进行登录验证: the proper way?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407185/

相关文章:

javascript - 使日期选择器出现在输入下方

javascript - AngularJS "accordion"使用 ng-click 加载和卸载 DOM 元素

javascript - 将多个 props cons 更改为 class

javascript - 将 Bootstrap Navbar 添加到 create-react-app 项目

javascript - 如何使用 "this"关键字来调用

javascript - this[var_name] = 12; 是什么意思?在 JavaScript 中执行

javascript - 如何从 React 状态数组中删除未选中的复选框?

react-router - react 路由器-登录后重定向

reactjs - React js 做通用 header

javascript - react 路由器 : cannot pass props to activeRouteHandler