惰性初始状态-什么是什么以及在哪里使用?
我是新来回应胡克斯!我正在尝试在我的代码中使用useState。当我使用它时,我发现了一个术语“惰性初始状态”
https://reactjs.org/docs/hooks-
reference.html
const [state, setState] = useState(() => { const initialState = someExpensiveComputation(props);
return initialState;
});
但是我无法想到任何useCase都可以在这种懒惰的状态初始化中发挥作用!
就像说我的DOM正在渲染并且它需要 值,但是我的useState尚未初始化它!并说如果您已经渲染了DOM并且 已经完成,那么DOM将重新渲染!
任何帮助将是有用的!
回答:
传递给的参数useState
是initialState
,该值将在第一个渲染中初始化您的状态,而在后续渲染中将忽略该值。但是想象一下以下情况
const Component = () =>{ const [state, setState] = useState(getInitialHundredItems())
}
想象一下,不需要每次渲染就调用此方法(请记住,即使在下一次渲染时忽略了初始值,仍会调用初始化它的函数)。
对于像这样的用例,您不仅可以传递一个function
返回初始状态的值,还可以传递一个返回初始状态的值,该函数将仅执行一次(初始渲染),而不是像上面的代码那样在每个渲染上执行
const Component = () =>{ const [state, setState] = useState(() => getInitialHundredItems())
}
以上是 惰性初始状态-什么是什么以及在哪里使用? 的全部内容, 来源链接: utcz.com/qa/427624.html