2017-10-05 9 views
0

私はReactプロジェクトでDVA JS Framework(https://github.com/dvajs/dva)を使用しています。
私はこのWebアプリケーションにログイン/ログアウト機能を持っています。React DVA JS Framework:状態アプリケーション全体をリセットする

問題:
ログアウトしても状態は変わりません。ページを更新せずに状態全体をリセットする必要があります。

DVAフレームワークで行う方法はありますか?

DVAのドキュメント(https://github.com/dvajs/dva/blob/master/docs/API.md)には、さまざまな方法でアプリケーションにアクセスできます。

const app = dva({ 
    initialState, 
    onAction, 
    onStateChange, 
    onReducer, 
    onEffect, 
}); 

これらの設定で状態をリセットする方法はありますか?

答えて

1

どのようにログアウトしますか? dvaを使用すると、それを行うためにモデルを使用する必要があります。これは、「エフェクト」をトリガするためです。その後、状態の変更をトリガして必要な値をリセットすることができます。たとえば:

... 
effects { 
    *logout({ payload }, { call, put }) { 
    const confirmation = yield call(logout, {}); 
    if (confirmation.success) { 
     yield put({ type: 'resetToDefaults' }); 
    } else { 
     throw (confirmation); 
    } 
    }, 
}, 
reducers { 
    resetToDefaults(state) { 
    return { 
     ...state, 
     //Modify your required entries to the default values 
    }; 
    }, 
} 
0

私は最初は私の実際の状態である、と私はresetToDefaultsを呼び出すときに実行されるdefaultStateは秒2の状態を使用しています。

関連する問題