useEffectはフックがすべての変更で機能に渡され実行されます反応します。これは、必要なプロパティが変更された場合にのみ呼び出せるように最適化できます。
から初期化関数を呼び出し、componentDidMount
変更時に再度呼び出さない場合はどうなりますか?エンティティをロードしたいとしますが、ロード関数はコンポーネントからのデータを必要としません。useEffect
フックを使用してこれをどのように作成できますか?
class MyComponent extends React.PureComponent {
componentDidMount() {
loadDataOnlyOnce();
}
render() { ... }
}
フックを使用すると、次のようになります。
function MyComponent() {
useEffect(() => {
loadDataOnlyOnce(); // this will fire on every change :(
}, [...???]);
return (...);
}