簡體   English   中英

Flux + React.js登錄/注冊流程

[英]Flux + React.js Login/register flow

我正在尋找有關如何在Flux + React.js應用程序中組織最佳登錄/注冊流程的指南。

我擁有的是一個REST API,在注冊/登錄時會返回access_token ,我可以在所有其他請求中使用它來獲取用戶數據。 很基本。

我正在使用ReactRouter,首先想到的是對登錄頁面和受保護的頁面使用2 <Route> ,例如:

<Route name="app" handler={AppHandler} path="/">
  <Route name="auth" handler={AuthHandler}>
    <Route name="login" handler={RegisterHandler} path="/register"/>
    <Route name="register" handler={LoginHandler} path="/login"/>
  </Route>
  <Route name="secured" handler={EnsureAuthHandler}>
    <Route name="dashboard" handler={Dashboard} />
  </Route>
  <NotFoundRoute handler={NotFound}/>
</Route>

EnsureAuthHandler我想檢查用戶是否具有訪問令牌,如果要“否”,我想將他重定向到登錄名,如果“是”,則子級路由處理程序可以觸發操作以加載其數據。

RegisterHandlerLoginHandler我具有包含多個字段的表單。 我正在使用一個AuthStore和一個AuthActions文件。 在提交時我擊發水木清華像AuthActions.register(formData)如果提交失敗形式組件獲得錯誤stateAuthStore但如果沒有錯誤發生,我重定向用戶Dashboard

我覺得有點復雜嗎? 例如,使用商店來保存登錄/注冊錯誤。

另一點,如何在一個地方攔截未授權的API錯誤,即將addListener到Flux調度程序?

您可以在應用程序的React.run點中使用回調函數:

// Defaults to `Router.HashLocation`
// callback is called whenever the hash changes
Router.run(routes, callback);

// HTML5 History
// callback is called when history events happen
Router.run(routes, Router.HistoryLocation, callback);

// Server rendering
// callback is called once, immediately.
Router.run(routes, '/some/path', callback);

接收兩個參數:

-一個帶有當前匹配項的ReactComponent類,所有內容都包裝在其中,以供您渲染。

狀態 -包含匹配狀態的對象。

只需轉到http://rackt.github.io/react-router/#Router.run

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM