2017-08-15 26 views
2

ReactとReact-Routerを使ってウェブサイトを構築していますが、存在しないユーザーがURLを訪問したときに404ページを表示したいと思います。React with React-Routerで404ページを正しくレンダリングする方法は?

いくつかのURLは、特定のユーザー名を持つユーザーが存在しdoesntの場合、私が反応し、ルータで404ページをレンダリングするにはどうすればよい

www.site.com/user/(username) 

、たとえば、ダイナミックですか?ユーザーが存在するかどうかを確認してユーザーを404コンポーネントにリダイレクトするAPI呼び出し中に、コンポーネント自体にコードを手動で記述する必要がありますか?

私はユーザーを見つからないページにリダイレクトする最良の方法を探しています。どのようにベストを尽くすかについてのアイデアを探しています。

+1

唯一の方法は、コンポーネント内の条件を 'user /(username)'と一致させることです。そして、コンポーネントがエラーをレンダリングさせるか、 '@'を使って@canaan seatonが記述したエラーページにリダイレクトすることができます – Purgatory

答えて

1

this.props.match.usernameが存在するかどうかを確認できます。それが正常でない場合は、React-Router Redirectコンポーネントを使用して404コンポーネントにリダイレクトします。この機能を必要とするパスが複数ある場合は、この目的のためにHOCを作成することを検討してください。

関連する問題