Meaningless Notebook

我輩は雑記帖である。名はまだない。


Next.js の router.push は同じパスだと画面が再レンダリングされない、当たり前体操。

まぁ (再レンダリングを抑える事に尽力されてるから) 、多少はね ?

でもリンクを押されたらコンポ-ネントを初期化したかった。

で、key プロパティでコンポ-ネントの再レンダリングが操作出来る事を知った。

export default function Page() {
  const [key, setKey] = useState(Date.now());
  const reset = () => setKey(Date.now());

  return (
    <Hogehoge key={key} />
  );
}

reset ファンクションを再レンダリングを制御したいコンポ-ネントに渡してもいいし、なんなら親コンポ-ネントから key を受け取る形でも OK。

key が変更されるとコンポ-ネントの再レンダリングが行われる。

なんか React 、この手の阿漕な手法ばっかり身に付いてきてるけど大丈夫かな… (独学の不安感)

参考元