【发布时间】:2022-11-14 00:01:09
【问题描述】:
我不明白我的组件 Word 将如何重新呈现。我有一个 redux 状态来保持我的 {history: {letters}} 状态。所以问题是:如果{字母} 被传递到 useEffect deps 数组中,如果 {字} 属性改变了?
`
function Word() {
const { history: {letters, words} } = useAppSelector(state => state)
useEffect(() => {
}, [letters])
return (
<div>
</div>
)
}
`
我希望我的组件仅在更改字母时才会重新呈现。
【问题讨论】:
-
如果更改了
words,即使您没有将它放入 dep 数组,为什么它应该重新渲染? -
我的问题的主要思想
-
您是在检查组件重新渲染还是 useEffect 代码块?
-
我正在检查组件重新渲染
-
刚刚测试了一下,结果发现即使组件中没有使用从 store 中获取的值,组件最终也会重新渲染。但这种情况无论如何都不应该发生,因为 eslint 或 typescript 不会让你保留未使用的变量。
标签: reactjs redux react-redux redux-toolkit rerender