ログインしたユーザーのみがホームページとタスクページにアクセスできるようにするにはどうすればよいですか?私はreduxを使用しています。私はauthについてより良く学ぶために事前に作られた認証コンポーネントを避けようとしています。レスポンスのミドルウェアとしての認証コンポーネント
const App = props => (
<BrowserRouter>
<Provider store={store}>
<div className="app">
<Layout>
<Header>
<Navbar />
</Header>
<Content>
<Route exact path='/' component={Home} />
<Route exact path='/login' component={Login} />
<Route exact path='/signup' component={Signup} />
<Route exact path='/task/:id' component={Task} />
</Content>
</Layout>
</div>
</Provider>
</BrowserRouter>
)
私は角度を使用していましたが、ルートにミドルウェアの概念がありましたが、反応すると私は迷子になりました。 authはreduxの店とは関係ないと思いますか?ユーザーがアプリをナビゲートするときにAPIからユーザー詳細を取得するために呼び出す必要がありますか?
ユーザーがアプリをナビゲートするたびにAPIを呼び出す必要がありますか?または単にlocalstorageのユーザーオブジェクトをチェックするだけですか? –
毎回APIを呼び出すことはしません。認証状態を保存して問題なくそのまま使用できるようにするだけです。あなたが非アクティブまたは何かのX時間後にあなたをログアウトする銀行のような、より安全なアプリが必要な場合は、チェックするために関数を設定してAPIをもう一度打つことができます。 –
私たちは通常、最初にログインチェックの 'onEnter'を実行します。これは1ページのアプリケーションであるため、ユーザーがページを更新しない限りチェックを1回だけ発生させます。 –