gpt4 book ai didi

javascript - 如何使用 React useEffect 仅调用一次加载函数

转载 作者:IT王子 更新时间:2023-10-29 02:43:35 25 4
gpt4 key购买 nike

useEffect React hook 将在每次更改时运行传入的函数。可以对其进行优化,使其仅在所需属性更改时调用。

如果我想从 componentDidMount 调用一个初始化函数,而不是在更改时再次调用它怎么办?假设我想加载一个实体,但加载函数不需要来自组件的任何数据。我们如何使用 useEffect Hook 实现这一点?

class MyComponent extends React.PureComponent {
componentDidMount() {
loadDataOnlyOnce();
}
render() { ... }
}

有了钩子(Hook),这看起来像这样:

function MyComponent() {
useEffect(() => {
loadDataOnlyOnce(); // this will fire on every change :(
}, [...???]);
return (...);
}

最佳答案

如果您只想在初始渲染后运行给 useEffect 的函数,您可以给它一个空数组作为第二个参数。

function MyComponent() {
useEffect(() => {
loadDataOnlyOnce();
}, []);

return <div> {/* ... */} </div>;
}

关于javascript - 如何使用 React useEffect 仅调用一次加载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53120972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com