0
私はredux-sagaでReact-router-v4を使用しています。私の問題は、一度ユーザーがログインしていると私は彼をホームページにリダイレクトしたいと答えているのでhereと{withRouter}
私は試みましたが、うまくいきませんでした、誰も私に還元兵とどのようにすべきか教えてください答えhereこれは唯一の方法ですか?以下ユーザーログイン後に自宅にナビゲートする方法redux-sagaのreact-router-v4
私はシンプルReduxのミドルウェアを使用してこの問題を回避私のReduxのサガコード
import { takeLatest } from 'redux-saga';
import {LOG_IN,LOG_INS,LOG_IN_ERROR} from '../constants/actionTypes';
import { call, put } from 'redux-saga/effects';
import {withRouter} from 'react-router';
import {login} from '../services/loginApi'
import { fetchScenario } from '../services/scenarioApi';
export default function* watchLogin() {
yield takeLatest(LOG_IN, loginSaga);
}
function* loginSaga(data) {
try {
console.log("obj in sagas",data)
const logInData = yield call(login,data.obj);
yield [put({ type:LOG_INS , logInData })];
this.props.history.push('/home')
}catch(error){
yield put({type: LOG_IN_ERROR, error: error.message})
return false
}
}
私たちはreact-router-domに何も持っていませんでしたか?基本的には、可能ならば余分な依存関係を避けたいだけです。 – LowCool
@LowCoolを追加する必要があります。意味のあるサイズでは、ユーザーをリダイレクトするだけではなく、副作用を処理するためのシンプルなシステムが必要になります。私のケースでは、すべてのニーズを簡単に処理できるミドルウェアがあり、Redux Sagaは過剰です。 –