虽然redux中的状态变化和组件的道具也发生了变化,但页面不会重新呈现



有人能解释一下如何在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]
}

这将添加一个元素,而不会使用破坏分配改变状态

Btw:在https://redux-toolkit.js.org/,这是推荐的一种新的redux书写方式。它内置了不变性,这意味着你可以只做

state.push(action.payload)

最新更新