вместо этого это показывает это на консоли.Предупреждение: история хеширования не может нажать на тот же путь;новая запись не будет добавлена в стек истории
Перенаправление не работает после успешного входа в систему.Иногда он работает на Chrome, иногда нет, а на Firefox он вообще не работает.Я не понимаю, в чем проблема.
Мой класс кода App.js App расширяет Компонент {
render() {
return (
<Admin
loginPage={LoginPage}
{...this.props}
authProvider={AuthProvider}
dataProvider={dataProvider}
dashboard={Dashboard}>
{permissions => [
<Resource name="client"
options={{ label: 'Client' }}
list={ClientList}
show={Client}
edit={ClientEdit}
create={ClientCreate} />,
<Resource name="phone" />,
permissions === 'admin' ?
<Resource name="user" /> : null
]}
</Admin>
);
}
}
и мой AuthProvider
if (type === AUTH_LOGIN) {
const { username, password } = params;
const request = new Request('http://localhost:5000/login', {
method: 'POST',
body: JSON.stringify({ username, password }),
headers: new Headers({ 'Content-Type': 'application/json' })
});
return fetch(request)
.then((response) => {
if (response.status < 200 || response.status >= 300) {
throw new Error(response.statusText);
}
response.json()
.then(({ user, token }) => {
const decodedToken = decodeJwt(token)
localStorage.setItem('token', token);
localStorage.setItem('role', decodedToken.role);
return Promise.resolve();
});
})
}
if (type === AUTH_LOGOUT) {
localStorage.removeItem('token');
localStorage.removeItem('role');
return Promise.resolve();
}
if (type === AUTH_ERROR) {
const { status } = params
console.log(params);
if (status === 401 || status === 403) {
localStorage.removeItem('token');
localStorage.removeItem('role');
return Promise.reject()
}
return Promise.resolve()
}
if (type === AUTH_CHECK) {
return localStorage.getItem('token') ? Promise.resolve() : Promise.reject({ redirectTo: '/login' });
}
if (type === AUTH_GET_PERMISSIONS) {
const role = localStorage.getItem('role');
return role ? Promise.resolve(role) : Promise.reject();
}