我想知道React.useEffect()
API
React.useEffect(() => {
// do something only when `someVariable` change.
}, [someVariable]);
或者如果您希望每次道具或状态更改时都调用它。
React.useEffect(() => {
// do something anytime a prop/state change
});
我的查询是在后一种方法上,React.useEffect
每次prop / state发生任何更改时都会触发的默认第二个参数是什么?
答案 0 :(得分:0)
因此,基于React代码库中的https://github.com/facebook/react/blob/master/packages/react/src/ReactHooks.js#L87,我看到默认的第二个参数是undefined
。
React.useEffect(() => {}. undefined);
每次更改道具/状态时,以上内容都会更新,基本上是任何会导致其重新渲染的东西。
基于此检查
inputs: Array<mixed> | void | null, // which means it is either an array or undefined
答案 1 :(得分:0)
因为没有第二个参数,所以它是undefined
,并且在每个渲染器上都会触发useEffect
回调:
React.useEffect(() => {
// do something anytime a prop/state change
});
如果将数组作为第二个参数提供,则它用作值列表,以限制useEffect
调用(如果它们未更改)。如果数组为空,则在组件安装时将调用useEffect
回调。