反应状态函数是否在每次渲染时创建

时间:2021-05-16 20:08:46

标签: javascript reactjs react-native

我明白为什么 useCallback 是好的。如果 deps 没有改变,它不会创建新函数。

对于 state 函数也是如此吗?

例如:

// parent component
const [val, setVal] = useState<boolean>(false);

<childComponent 
    :setVal={setVal}
/>

现在,如果父组件因为 val 字段以外的其他原因重新渲染,setVal 函数将再次创建,这将导致 childComponent 无明显原因再次重新渲染.这是真的 ?如果是这样,我想,有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

不,可以通过 setValuseState 负责在每个渲染周期返回相同的 setVal 实例。