ホームページ >ウェブフロントエンド >jsチュートリアル >React Router 4 で認証済みルートを効果的に実装するにはどうすればよいですか?

React Router 4 で認証済みルートを効果的に実装するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-22 22:41:03535ブラウズ

How to Implement Authenticated Routes Effectively in React Router 4?

React Router 4 での認証済みルートの実装: さまざまなアプローチの探索

React Router 4 では、認証済みルートは、次の警告のため課題となります。 の両方を使用します。 <ルートの子>同じルート内で。この記事では、認証されたルートを効率的に実装するための代替アプローチを検討します。

1 つの方法には、ユーザーがログインしている場合にのみルートをレンダリングするカスタム AuthenticatedRoute コンポーネントを作成することが含まれます。ただし、render メソッドでアクションをディスパッチするのは問題があると主張する人もいます。

別のソリューションでは、リダイレクト コンポーネントを利用して、権限のないユーザーをログイン ページにリダイレクトします。ユーザーが認証されている場合にのみ指定されたコンポーネントをレンダリングする PrivateRoute コンポーネントを作成すると、実装を簡素化できます。

次のコード スニペットは、PrivateRoute アプローチを示しています。

<code class="javascript">function PrivateRoute ({component: Component, authed, ...rest}) {
  return (
    <Route
      {...rest}
      render={(props) => authed === true
        ? <Component {...props} />
        : <Redirect to={{pathname: '/login', state: {from: props.location}}} />}
    />
  )
}</code>

このアプローチでは

<code class="javascript"><Route path='/' exact component={Home} />
<Route path='/login' component={Login} />
<Route path='/register' component={Register} />
<PrivateRoute authed={this.state.authed} path='/dashboard' component={Dashboard} /></code>

これらのさまざまな方法論を理解することで、React Router 4 に認証されたルートを効果的に実装し、アプリケーション内で安全で制御されたナビゲーションを確保できます。

以上がReact Router 4 で認証済みルートを効果的に実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。