Я пытаюсь перенаправить на другую страницу при получении успешного ответа на мой вызов API.
При попытке сделать это я получаю следующую ошибку
TypeError: Cannot read property 'apply' of undefined
Iсоздал функцию перенаправления в js-файле с именем redirect.js и импортировал ее в мое действие, чтобы использовать ее.
redirect.js
import {push} from 'react-router-redux';
export function redirect(route) {
return dispatch => {
dispatch(push(route))
}
}
index.js
const middleware = routerMiddleware('');
const store = createStore(ReducerStore, composeWithDevTools(
applyMiddleware(middleware, thunk),
),)
ReactDOM.render(<Provider store={store}><App /></Provider>, document.getElementById('root'));
serviceWorker.unregister();
Использование
import axios from 'axios';
import { API_URL } from './global/apiUrl.js';
import {redirect} from './global/redirect.js';
export function registerUser(data) {
const regData = JSON.stringify(data);
return dispatch => {
axios.post(`${API_URL}/api/****/******?*****=${regData}`, {
headers: {
'Content-Type': 'application/json',
},
})
.then(res => {
const { response } = res.data;
if (response === 200) {
alert("Registration success");
dispatch(redirect('/account_created'))
} else {
alert("error");
}
})
}
}
ПРИМЕЧАНИЕ. Я также установил расширение для инструмента redux dev.