Reactの関数コンポーネントに書いた処理とuseEffectフックの違いについて
解決したいこと
Reactの関数コンポーネントについて質問です。
useEffectフックの第2引数に何も渡さない場合、再レンダリングの度に処理が実行されると思いますが、これは関数コンポーネントの中に書いた処理と何か違いはあるのでしょうか?
以下のソースで試してみたところ、initializeとupdateは初回のレンダリング時やstateの更新時など同じタイミングでコンソールに出力されました。
もし違いがない場合、どちらに書く方がベターなのか(可読性なども含め)、ご教授ください。
よろしくお願いします。
該当するソースコード
const Sample = () => {
const [num, setNum] = useState(0);
console.log("initialize");
useEffect(() => {
console.log("update");
});
return (
<button onClick={()=>{setNum(num+1)}}>plus</button>
)
}
export default Sample;