javascript - 尽管 redux 中的状态更改和组件的 props 更改,但页面也不会重新渲染
问题描述
谁能解释如何在 redux 中更新状态?特别是数组。
if(action.type === 'ADD_POST')
{
state.posts.push(action.obj)
let newPosts = state.posts
console.log(newPosts)
return {
...state,
posts: newPosts
}
}
解决方案
要将帖子添加到帖子数组中,它应该是
if (action.type === "ADD_POST") {
return [...state, action.obj]
}
这将添加一个元素而不会使用解构赋值改变状态
顺便说一句:在https://redux-toolkit.js.org/上抢购一下,这是编写 redux 的新推荐方式。它具有内置的不变性,这意味着您可以这样做
state.push(action.payload)
推荐阅读
- c++ - 为什么从另一个构造函数内部调用的 C++ 构造函数不修改类变量?
- azure-devops - 将新标签推送到 github.com 时,如何在 Azure Pipelines 中触发构建?
- r - ifelse() 条件不适用于 ggplot
- angular - 以角度形式获取资源列表
- c# - 错误 405,在 C# 中的 HTTPRequest 上不允许使用方法
- python-3.x - PyCharm 不会安装 PyTorch - 构建轮失败
- javascript - WebSocket 在代码中返回 undefined 但在控制台中没有
- java - 更改约束中元素的可见性。组
- c++ - 创建 25 个应用程序窗口时 Qt Quick 应用程序锁定
- sas - 结合 IN、KEEP、DROP 和 RENAME 语句