You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

useSelector回调中props值变更时是否生效?是否触发重渲染与Effect?

问题解答

当组件传入的organizationId props发生变更时,会触发组件重渲染,且如果对应的组织名称发生变化,控制台会打印新的组织名称,具体逻辑如下:

  • 组件重渲染触发逻辑:React组件的props发生变化时,会自动触发组件的重渲染流程。在重渲染过程中,useSelector会重新执行传入的选择器函数,用新的organizationId从Redux state中获取对应的organizationName。
  • useEffect执行逻辑:你的useEffect依赖数组包含organizationName,当重渲染后organizationName的值与之前不同时,React会执行useEffect的回调函数,控制台就会打印出新的组织名称。

特殊情况说明

如果新的organizationId对应的Redux state中组织名称和旧的organizationName完全一致,那么useEffect不会触发(因为依赖值没有变化),但组件依然会因为organizationId props变更而完成一次重渲染,只是最终UI不会有变化。


内容的提问来源于stack exchange,提问作者kamm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:27:02