reactjs - Redux 文档中关于 createSelector 和 createEntityAdapter 的问题
问题描述
在页面上: 文档
本节:
声明dispatch(reactionAdded())
不会导致组件重新渲染,因为posts
此处未更改。但它似乎reactionAdded
确实改变posts
了整个posts
数组被新数组替换的原因之一。
另一个问题:
它是否意味着返回的值selectById
selectIds
fromcreateEntityAdapter
将始终返回相同的数组(未更改的引用),只要id
实体的所有 s 都未更改,即使成员的内容entities
已更改?
解决方案
唔。我写了那个教程,写那个例子时我完全有可能犯了一个心理错误。是的,reactionAdded
确实更新了一个帖子条目,这也意味着由于不可变更新,应该生成一个新posts
数组。可能需要在那里提出一个不同的例子:)
是的,selectById
总是直接查找 - 即 ,return state.posts.entities[postId]
因此不涉及派生数据。它只是自己返回一项。