useHistoryとは?
useHistory
フックは、React Router v5以降で導入されたフックの1つで、Reactコンポーネントから履歴オブジェクトを操作するために使用されます。useHistory
フックを使用することで、Reactコンポーネント内でプログラム的にページ遷移を行ったり、ブラウザの履歴を操作したりすることができます。
useHistoryの使い方
以下は、useHistory
フックを使用した具体的な例です。
import { useHistory } from 'react-router-dom';
function MyComponent() {
const history = useHistory();
function handleGoBack() {
history.goBack();
}
function handleGoForward() {
history.goForward();
}
function handleGoHome() {
history.push('/');
}
return (
<div>
<h1>My Component</h1>
<button onClick={handleGoBack}>Go back</button>
<button onClick={handleGoForward}>Go forward</button>
<button onClick={handleGoHome}>Go to home page</button>
</div>
);
}
この例では、useHistory
フックを使用して、history
オブジェクトを取得しています。そして、handleGoBack
関数内で、history.goBack
メソッドを使用して、前のページに戻ります。同様に、handleGoForward
関数では、history.goForward
メソッドを使用して、次のページに進みます。そして、handleGoHome
関数では、history.push
メソッドを使用して、ルートページに遷移します。
このように、useHistory
フックを使用することで、Reactコンポーネント内でブラウザの履歴を操作することができます。