神戸学院大学 経営学部 林坂ゼミ

React 入門トップページ

« 戻る 次へ »

React 入門

JavaScript コメント掲示板アプリの開発

404 Not Found エラーページの変更

ブラウザのアドレスバーに不正な URL を入力した場合には HTTP の 404 ステータスコードが返され,エラーページが表示されます.例えば /abc/ のような URL に対してリクエストすると,次のページが表示されます.

react-2024-98

このエラーページを変更する方法を最後に示しておきます.まず,src/componenst/NotFoundPage.js ファイルを作成して,rafce で雛形を作成します.

src/components/NotFoundPage.jsimport React from 'react'

const NotFoundPage = () => {
  return (
    <div>NotFoundPage</div>
  )
}

export default NotFoundPage

作成した雛形を適当に変更して表示したいエラーページを作成します.

src/components/NotFoundPage.jsimport React from 'react'

const NotFoundPage = () => {
  return (
    <div className="container">
      <h1>404 Not Found</h1>
      <p>指定したページは見つかりませんでした</p>
    </div>
  )
}

export default NotFoundPage

エラーページのためのルートを定義します.すでにあるルート定義の最後に「すべてのパス」を意味する "*" を指定して,NotFoundPage コンポーネントを指定します.つまり,上で定義されたルートに一致しなかった場合はすべて NotFoundPage コンポーネントが表示されることになります.

import { Route, createBrowserRouter, createRoutesFromElements } from 'react-router-dom';
import CommentListPage from '../components/CommentListPage';
import CommentShowPage from '../components/CommentShowPage';
import CommentEditPage from '../components/CommentEditPage';
import NotFoundPage from '../components/NotFoundPage';

const routes = createBrowserRouter(
  createRoutesFromElements(
    <Route>
      <Route path="/" element={<CommentListPage />} />
      <Route path="/show/:commentId" element={<CommentShowPage />} />
      <Route path="/edit/:commentId" element={<CommentEditPage />} />
      <Route path="*" element={<NotFoundPage />} />
    </Route>
  )
);

export default routes;

不正なアドレスを指定した場合に次のようなページが表示されることが確認できました.

react-2024-99

目次に戻る