Reactでは、react-router
やreact-router-dom
などのライブラリを使用することで、URLの変更イベントを簡単に処理することができます。以下に、いくつかの方法とコード例を紹介します。
-
useEffect
フックを使用する方法:import { useEffect } from 'react'; import { useLocation } from 'react-router-dom'; function MyComponent() { const location = useLocation(); useEffect(() => { // URLが変更されたときの処理をここに書く console.log('URLが変更されました:', location.pathname); }, [location]); return <div>コンポーネントの内容</div>; }
-
イベントリスナーを追加する方法:
import { useEffect } from 'react'; import { useHistory } from 'react-router-dom'; function MyComponent() { const history = useHistory(); useEffect(() => { const handleLocationChange = () => { // URLが変更されたときの処理をここに書く console.log('URLが変更されました:', history.location.pathname); }; const unlisten = history.listen(handleLocationChange); return () => { unlisten(); // コンポーネントがアンマウントされるときにリスナーを解除する }; }, [history]); return <div>コンポーネントの内容</div>; }
これらの方法を使用すると、URLの変更イベントを検知して処理することができます。具体的な処理は、アプリケーションの要件によって異なる場合がありますが、上記のコード例を参考にして実装してみてください。