Почему не проходит новый синтаксис?

const initState = ['test','more'];

// работает
export default function values(state = initState, action){
    if(action.type === 'ADD_VAL'){
        return [
            ...state,
            action.date
        ];
    }
    return state;
};

// не работает
export default values = (state = initState, action) => {
    if(action.type === 'ADD_VAL'){
        return [
            ...state,
            action.date
        ];
    }
    return state;
};


// тоже работает однако мне не нравится экспорт вниз переносить
// видимо без этого в данном случае никак или ?
const values = (state = initState, action) => {
    if(action.type === 'ADD_VAL'){
        return [
            ...state,
            action.date
        ];
    }
    return state;
};

export default values;


Переписал функцию на новый синтаксис IDE ни на что не ругается на выходе ошибка.

Правильно я понимаю что в некоторых случаях нужно использовать стандарт т.к. новый синтаксис не проходит, или здесь немного глубже?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
export default (state = initState, action) => {
    if(action.type === 'ADD_VAL'){
        return [
            ...state,
            action.date
        ];
    }
    return state;
};

либо:
const values = (state = initState, action) => {
    if(action.type === 'ADD_VAL'){
        return [
            ...state,
            action.date
        ];
    }
    return state;
};

export default values;


Второй вариант предпочтительнее, так как именованные функции легче отлаживать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
avito front
В браузере выполняете? Юзайте Babel
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы