Я использую React с реакцией-редуксом и редукс-действием.
У меня есть следующий редуктор, который постоянно говорит мне
неожиданный токен, ожидаемый ","
, но я не уверен почему.
comments.js (reducer):
import { handleActions } from "redux-actions";
import {
GET_COMMENTS,
SET_COMMENTS,
ADD_COMMENT
} from "../constants/actionTypes";
export default handleActions(
{
[GET_COMMENTS]: (state, action) => state,
[ADD_COMMENT]: (state, action) => {
const comments = {
...state.comments,
action.payload
};
return {
...state,
comments
};
},
[SET_COMMENTS]: (state, action) =>
Boolean(action.payload) ? action.payload : state
},
{}
);
Действие, вызывающее проблемы, ADD_COMMENT
.Я пробовал это следующими способами:
[ADD_COMMENT]: (state, action) => {
...state,
comments: {
...state,
action.payload
}
}
или
[ADD_COMMENT]: (state, action) => ({
...state,
comments: {
...state,
action.payload
}
})
, а также:
[ADD_COMMENT]: (state, action) => {
return {
...state,
comments: {
...state,
action.payload
}
}
}
Я не могу понять, почему мой код неправильно, мой линтер в атоме говорит, что это точка между действием и полезной нагрузкой, но я не уверен.
Создатель действия просто возвращает тип ADD_COMMENT и полезную нагрузку отдельного комментария в следующем формате:
{
"id": 3,
"parent": 1,
"author": "admin",
"author_is_staff": true,
"content": "This is a test comment using the API rather than the Admin page, with author specified, with view changed"
}