-
キーを使用して再描画する: React RouterのLinkコンポーネントにキーを追加することで、同じリンクを再度クリックした場合にコンポーネントを再描画できます。次のように書き換えてみてください:
import { Link } from 'react-router-dom'; function MyLinkComponent() { const [refresh, setRefresh] = useState(false); function handleClick() { setRefresh(!refresh); } return ( <Link key={refresh.toString()} to="/path" onClick={handleClick}> リンク </Link> ); }
この方法では、クリックごとにキーの値が切り替わり、コンポーネントが再描画されます。
-
強制的にページを再読み込みする: もう1つの方法は、クリック時にページを強制的に再読み込みすることです。これには、windowオブジェクトの
location.reload()
メソッドを使用します。以下に例を示します:import { Link } from 'react-router-dom'; function MyLinkComponent() { function handleClick() { window.location.reload(); } return ( <Link to="/path" onClick={handleClick}> リンク </Link> ); }
この方法では、リンクをクリックするたびにページ全体が再読み込みされます。
これらの方法を使用することで、React RouterのLinkコンポーネントを再度クリックした際にページを更新することができます。適切な方法を選択し、プロジェクトの要件に合わせて実装してください。