【发布时间】:2020-09-25 21:52:52
【问题描述】:
我在网上制作了相同的模型并且它有效,我尝试使用 Redux 的 shallowEqual 作为 useSelector 函数的第二个参数,以及 lodash 库的 _.isEqual ,就像 Hooks 部分的 Redux 文档中的那样,但不要工作。
预期行为:
在调度操作中,带有 useSelector 的组件必须带来更新的状态。
会发生什么:
组件带来初始状态为空。
版本:
"Expo": "~37.0.3"
"react-native": "37.0.1",
"react-redux": "^7.2.0",
"redux": "^4.0.5"
编辑:
我尝试复现类似于同样问题的零食的结构,这里是链接:https://snack.expo.io/@danieltfischer/useselector
已解决:
我忘记了动作类型的“导出”:export const ADD_MED ='ADD_MED'
我专注于代码,并没有意识到我没有公开动作的类型。再次感谢。
【问题讨论】:
-
您的状态仅在 handleSubmit 上更新。除非您调用 handleSubmit,否则它应该为空。
-
我调用了handleSubmit 函数,当我回到仪表板屏幕时,状态保持为空。日志上也没有任何变化。
-
您是否在某处使用从 useSelector 获得的状态,您如何确定它没有带来最新状态?
-
丹亚尔,我是。我将状态作为“数据”传递给 FlatList 组件,它还接收“数据”作为属性。我在表单和仪表板上使用了 useSelector 并放置了一个日志以确保他们会收到更新的状态,并且正如我所说,我正在使用 flatList 组件中的状态来呈现来自状态的项目跨度>
标签: react-native redux react-redux expo hook