gpt4 book ai didi

javascript - 在 redux 中更新状态后发送调度和重定向?

转载 作者:行者123 更新时间:2023-12-03 03:33:21 24 4
gpt4 key购买 nike

我是前端开发新手。现在我正在研究基于reactJs+redux的项目(简单任务编辑器,没有服务器端)。我遇到下一个问题。

我有一些组件在 url '/addTask/' 上显示网页。

const TaskCreator = ({ tasks, onAddTask }) => {

...

const addTask = () => {

const newTask = {
id: newId,
header: headerInput.value,
description: descriptionInput.value
}

onAddTask(newTask);
}

return(
<div>

...

<button className='btn btn-success' onClick={addTask}>Save</button>

</div>
);
}

export default connect(
(state) => ({
tasks: state.tasks
}),
dispatch => ({

onAddTask: (task) => {
const payload = {
id: task.id,
header: task.header,
description: task.description
};
dispatch({ type: 'ADD_TASK', payload });
browserHistory.push('/');
}


})
)(TaskCreator);

当用户单击按钮保存时。 addTask 已调用。之后,onAddTask 方法被公平化,并且 ADD_TASK 任务命令被调度。新任务添加到状态后,需要重定向到 url /

当我插入语句 browserHistory.push('/') 时,浏览器重定向到 url / 但它没有使用新任务更新状态。如果我删除这样的语句 browserHistory.push('/')

onAddTask: (task) => {
const payload = {
id: task.id,
header: task.header,
description: task.description
};
dispatch({ type: 'ADD_TASK', payload });

}

状态已更新,但浏览器未重定向。

如何异步更新状态(使用调度)并在状态更新后重定向到 url /

感谢您的提前

最佳答案

你应该知道如何在react和redux中处理异步(如链式 react )。

Redux-saga 可以帮助你。 https://github.com/redux-saga/redux-saga

关于javascript - 在 redux 中更新状态后发送调度和重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com