【问题标题】:Redux state change from one component not triggering useEffect in another component一个组件的 Redux 状态更改未触发另一个组件中的 useEffect
【发布时间】:2021-10-28 09:58:37
【问题描述】:

这是我第一次使用 ReduxJS。

我有两个组件,一个父母和一个孩子。

In child

dispatch(someAction(payload))

In Parent


let some = useSelector((state)=> state.a)


useEffect(()=>{

//some code//

},[some])


预期:

据我所知,我从孩子那里疏散了一个会改变 redux 状态的动作。 现在在父 "some" 中也应该更新,它应该触发 useEffect

究竟发生了什么:

useEffect 不会被触发。

有人可以指出我在这里做错了什么吗?

【问题讨论】:

  • 派发后redux状态是否真的改变了? redux 开发工具告诉你什么?父组件中的代码看起来不错。
  • 当你从子组件中派发一个动作时,你的父组件是否呈现在屏幕上?
  • 是的@PrajwalKulkarni
  • 是的状态改变@spiritwalker
  • 子组件中的dispatch action是否更新了store中的状态a

标签: javascript reactjs redux react-redux redux-toolkit


【解决方案1】:

请您确认两件事:

  1. 调度是否携带正确的有效载荷并完成。
  2. 如果 redux 状态更新为发送的值。 这两件事都可以通过 Redux 开发工具进行检查。

我希望您的问题与上述两点有关,是的,useEffect() 应该运行。

【讨论】:

    猜你喜欢
    • 2022-01-08
    • 2021-10-18
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2012-10-20
    相关资源
    最近更新 更多