我是新来的。我有一个名为 Register 的组件.js
在那里我调用 redux 操作的方法寄存器
。所以在里面,我想在调度后将用户重定向到路径/仪表板
。这是我在 redux 中的操作
const { REGISTER_USER } = require('./types')
export const register = (values) => async dispatch => {
try {
// register part goes here ...
dispatch({
type: REGISTER_USER,
payload: values
})
} catch (error) {
console.log(error)
}
}
我该如何实现这一点?
我个人会使用反应路由器和历史记录功能在操作分派和解决后推送到新页面(例如用户已注册)
React路由器重定向后动作redux
请注意,react路由器的新版本的行为有所不同
如何在React路由器v4中推送到历史记录?
另一种选择是将“注册”作为模态,提交后,您只需从视图中隐藏模态并使用新道具刷新仪表板组件(因此它会为新认证的用户获取数据)
你不会想在动作或redux reducer/state文件中重定向,它会在你的react组件逻辑中。
我在应用程序中使用了进行路由。在主页中,有一个表单。当用户填写表单并点击submit按钮时,操作将被调度(ShowResultToFar),并应重定向到结果页面,该页面不是主页中的子页面,而是一个从上到下具有不同UI的不同页面。 我试图这样做,但行动没有分派只有路由已经过渡,但显示相同的主页,而不是新页面(结果) index.js app.js form.js(它是横幅的子组件,是应用程序的子组件
我试图结合反应路由器v4,反应,和redux。因为react-router跟踪URL,所以我选择将该状态块排除在redux模型之外。 但我仍然需要一种方法来在react路由器发生路由更改时调度redux操作。哪里是最好的地方? 我的第一次尝试是将它放在react路由器链接的onClick属性中: 其思想是,当用户单击链接时,dispatchAction()将更新redux状态,然后加载相册组件。
当我尝试在不使用任何异步函数的情况下执行身份验证时(例如,将用户名和密码与react中的硬编码值进行比较),一切工作都很顺利。 但是当我使用express和mongo执行身份验证时,登录时的重定向停止工作。如果我再次登录,那么重定向就会发生。受保护的路由仍然有效(如果用户没有登录,则重定向到登录页)。 下面是我在express+mongo IE中使用do auth的问题的一个小演示。异步还原。这并
问题内容: 我在最新的应用程序中使用react-router和redux,并且遇到了一些与基于当前url参数和查询所要求的状态更改有关的问题。 基本上,我有一个组件,每次URL更改时都需要更新其状态。像这样通过装饰器通过redux通过props传递状态 目前,我正在使用componentWillReceiveProps生命周期方法来响应来自react- router的url更改,因为当this.p
问题内容: 检查这样的情况后,我有一条重定向的路线 条件为真但未安装组件时,URL会更改。其余的组件代码如下。 我的应用程序组件包含在BrowserRouter中,例如thi 当我在浏览器中直接命中url时,例如’localhost:3000 / intro’组件已成功安装,但是当它通过重定向时,它不会显示该组件。我如何解决它? 因此缺少一个细节,我尝试创建另一个项目来重现该问题。我的App组件是
问题内容: 我有一个使用redux和react-router的通用react应用程序。 我有以下几种路线: 等等 每个路由都需要来自API的数据。目前,我在Navigation组件中的元素调度了一个async action ,该操作使用来自该路线的API中的数据填充商店。 对于MVP,我只是在路线更改时用新的帖子内容覆盖商店中的内容,这样我们就可以获取API上的所有新内容。 我已经意识到在按钮上设
我一辈子都不能让我的一个动作叫减速机。我已经在这个应用程序中编写了多个其他动作和减法器,效果非常好。 它是筛选函数的开始。我有一个文本输入字段,在这里我不断跟踪输入字段的状态,并将字段值分配给redux操作。我有一个控制台。记录操作内部,该操作会正确记录每次按键。 我似乎不能理解的是,为什么减速器不是在每个按键调用。我已经尝试了减速器内的多个console.log,但是没有一个被键盘记录下来。 第
我是一个新的反应,但我已经工作了很多年的Vue。当我需要等待一个动作完成时,我现在被困在一个区域。在操作完成后,我必须进行另一个操作调用或在那里执行一些操作。但它不会等待操作完成并开始执行下面的代码。 方法: 从其中调度操作的方法: 现在,在上面的代码中,重定向并不是在等待调度完成。我试过这个,但它不起作用: