当前位置: 首页 > 面试题库 >

动作重做后反应路由器重定向

华子航
2023-03-14
问题内容

我正在使用react-redux和标准react-routing。确定动作后,我需要重定向。

例如:我已经注册了几个步骤。并采取以下措施:

function registerStep1Success(object) {
    return {
        type: REGISTER_STEP1_SUCCESS,
        status: object.status
   };
}

我希望他重定向到带有registrationStep2的页面。怎么做?

ps在历史浏览器中从未使用过“ / registrationStep2”。仅在成功注册结果步骤1页面之后,才会显示此页面。


问题答案:

使用React Router
2+,无论您在何处调度操作,都可以调用browserHistory.push()(或者hashHistory.push()如果使用的话):

import { browserHistory } from 'react-router'

// ...
this.props.dispatch(registerStep1Success())
browserHistory.push('/registrationStep2')

您也可以从异步操作创建者处执行此操作。



 类似资料:
  • 我使用的是和。我需要在一个动作被发送后重定向。

  • 我已经稍微调整了React路由器的私有路由示例,以便与Redux玩得很好,但是当链接或重定向到其他页面时,不会呈现任何组件。这个例子可以在这里找到: https://reacttraining.com/react-router/web/example/auth-workflow 他们的PrivateRoute组件如下所示: 但是,因为我已经把它合并到一个Redux应用程序中,我不得不稍微调整一下私

  • 我在react-redux项目中使用react-router-dom 5.1.2。对于我的路由,我有两个文件。第一个是App.js,其中包含redux存储和BrowserRout的提供程序: 在下一层,我有Main.js,它有到所有组件的路径 我遇到的问题是,当我使用path=“/games/:game_id/fighters/new”进入路线时,而不是显示FighterForm。js,它会重定向

  • 我正在构建一个使用react-router的web应用程序。当我点击url localhost:8080/user时,它工作得很好。当我点击localhost:8080/user/login时,它不起作用,控制台显示意外标记>这是什么意思?我不明白这个问题。 在这行代码中还有一件事,当我换到其他类时,它也不起作用。 Routes.js webpack.config.js

  • 我的导航不工作,因为某些原因,我有另一个应用程序运行良好,但这一个不能找到错误,请帮助 反应路由器不工作。反应JS 我需要你的帮助。 使用react-router,我可以使用Link元素创建由react router本地处理的链接。