キーの変更が実行されていない場合は
1175 ワード
開発者として、我々は、いくつかの特定のブロックのコードまたはいくつかの機能を、コンポーネントの最初のレンダリングで反応させたくない場所に衝突する可能性があります.私たちが
用途
上記のコンポーネントを使用するには、まず使用するコンポーネントにインポートする必要があります
useEffect
を持っているので、変更を監視するために依存関係を指定しますuseEffect(() => {
// the call back function or code if the stateVariable changes
}, [stateVariable]);
最初のレンダリングでこのコードを実行したくないので、カスタムフックを作成することができますimport React, { useEffect, useRef } from 'react';
const useDidMountEffect = (func, deps) => {
const didMount = useRef(false);
useEffect(() => {
if (didMount.current) func();
else didMount.current = true;
}, deps);
}
export default useDidMountEffect;
用途
上記のコンポーネントを使用するには、まず使用するコンポーネントにインポートする必要があります
import useDidMountEffect from './path_to_UseDidMountEffect';
useDidMountEffect(() => {
// react please run me if 'key' changes, but not on initial render
myFunction()
}, [stateVariable]);
const myFunction = () =>{
console.log('i am up and running');
}
Reference
この問題について(キーの変更が実行されていない場合は), 我々は、より多くの情報をここで見つけました https://dev.to/rugiguru/run-if-key-changes-but-not-on-first-render-in-react-3j72テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol