Добрый день, делаю авторизацию и после получения токена с бэкэнда нужно перенаправить пользователя на его страницу?
createAction
export const login = (username, password) => {
return dispatch => {
axios.post("http://127.0.0.1:8000/login/", {
username: username,
password: password
})
.then(function (res) {
dispatch(loginSuccess(res.data.token));
dispatch(push("/home"))
})
.catch(function (error) {
if (error.response.status === 400) {
dispatch(loginError())
}
});
}
};
store
import { createStore, applyMiddleware } from "redux";
import thunkMiddleware from "redux-thunk";
import { createLogger } from "redux-logger";
import rootReducer from "../Reducers/index";
const loggerMiddleware = createLogger();
export default function store() {
return createStore(
rootReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
)
}
React render
const history = createBrowserHistory();
const Store = store(history);
render(
<Provider store={Store}>
<div className="root_container">
<ConnectedRouter history={history}>
<Switch>
<Route exact path={"/"} component={Welcome} />
<Route exact path={"/login"} component={LoginContainer} />
<Route exact path={"/register"} component={RegisterContainer} />
<Route exact path={"/home"} component={AppContainer} />
</Switch>
</ConnectedRouter>
</div>
</Provider>,
document.getElementById("root")
);
Видел вариант с dispatch.push("/home"), но только запускает action а не перенаправляет