useState
変数に初期値を設定するために使用する機能コンポーネント。小道具を介して初期値を渡すと、useEffect
フックを使用しない限り、常に同じ初期値が設定されます。
たとえばあなたの場合これはあなたの仕事をします
React.useEffect(() => {
setUser(props.user);
}, [props.user])
useEffectに渡された関数は、レンダリングが画面にコミットされた後に実行されます。
デフォルトでは、エフェクトはレンダリングが完了するたびに実行されますが、特定の値が変更された場合にのみエフェクトを起動するように選択できます。
React.useEffect(FunctionYouWantToRunAfterEveryRender)
useEffectに引数を1つだけ渡すと、レンダリングのたびにこのメソッドが実行されますFunctionYouWantToRunAfterEveryRender
。useEffectに2番目の引数を渡すことで、これをいつ起動するかを決定できます。
React.useEffect(FunctionYouWantToRunAfterEveryRender, [props.user])
お気づきのとおり、[props.user]を渡すuseEffect
とFunctionYouWantToRunAfterEveryRender
、props.user
が変更された場合にのみこの関数が起動します
これがあなたの理解に役立つことを願っています改善が必要な場合は私に知らせてくださいありがとう