2017-10-01 5 views
1

Wie lade ich den anfänglichen App-Status aus der Datenbank mit ReSwift zu laden?ReSwift Middleware Anfangszustand

Ich bin so etwas wie eine Middleware denken für, wenn die App Zustand zuerst initialisiert wird, das heißt, das erste Mal die Reduzierungen genannt werden.

Antwort

0

Zum Beispiel in AppDelegate

var store = Store<AppState>(reducer: AppReducer(), state: nil) 

in AppReducer

func handleAction(action: Action, state: AppState?) -> AppState { 
    return AppState(
     dbState: DBReducer(state: state?.dbState, action: action) 
     //other states 
    ) 
} 

in DBReducer

func DBReducer(state: DBState?, action: Action) -> dbState { 
    var state = state ?? DBState() 
    //actions state change 
} 

in init DBState Daten erhalten von db

+0

, die so sehr falsch ist .. Reduzierstücke sollten rein funktional sein –

+0

gen Dieses Beispiel aus ReSwift Repository https://github.com/ReSwift/GitHubBrowserExample/blob/master/SwiftFlowGitHubBrowser – Dialogue

+0

Wahrscheinlich einem veralteten Beispiel, Reduzierungen sollten immer reine Funktionen sein, das ist eines der grundlegenden Konzepte der Redux. –

Verwandte Themen