Задать вопрос
@aleshaykovlev
html, css, js, node, webpack, sass, react

Ошибка Error: Actions must be plain objects. Use custom middleware for async actions?

action:
export const signIn = valid => {
    return {
        type: 'SIGN_IN',
        payload: valid
    }
}


reducer:
const loggedReducer = (state=false, action) => {
    switch(action.type) {
        case 'SIGN_IN':
            return !state;
        default:
            return state;
    }
}

export default loggedReducer;


Как я с ними работаю:
const [username, setUsername] = React.useState('');
const [password, setPassword] = React.useState('');
const dispatch = useDispatch();

localStorage.setItem('user', JSON.stringify(dispatch(signIn(false)).payload));

function login(event) {
        event.preventDefault();

        if (username === 'Admin') {
            if (password === '12345') {
                localStorage['user'] = dispatch(signIn(true).payload);
            }   
        } else {
            localStorage['user'] = dispatch(signIn(false).payload);
            alert('Имя пользователя или пароль введены не верно');
        }
    }
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@aleshaykovlev Автор вопроса
html, css, js, node, webpack, sass, react
Нужно добавить JSON.stringify()

и брать payload из dispatch

localStorage['user'] = JSON.stringify(dispatch(signIn(true)).payload);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽