使用 createSlice 时,我可以为切片命名,例如:'person'。在reducer 代码中,store 显然是指整个redux store 的“person”部分(前提是我使用了正确的configureStore 设置)。所以我可以说 store.firstName = 'Bernhad';没关系。
在选择器中,事情似乎略有不同:store 绑定到(整个?)redux store。所以我必须编码 'firstNameSelector = (store) => store.person.firstName;'
我认为这是非常不对称的 - 一次必须使用 store.person,另一次只使用 store - 我想知道:为什么会这样?
非常感谢任何解释! 伯恩哈德
答案 0 :(得分:1)
切片是:您状态的“一部分”,它自己工作。它不知道在它之外存在任何东西。您可以将它安装在您商店甚至其他商店的不同位置,它的行为仍然完全相同。
选择器是另一回事。使用选择器,您可以从外部视角查看整个商店,然后选择您需要的值。在该选择器中,您可能希望访问多个切片以获取值,因此您总是会查看“整体”。