I am using React with react-redux and redux-actions.
I have the following reducer that keeps telling me
unexpected token, expected ","
but I am not sure why.
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
},
{}
);
The action causing trouble is ADD_COMMENT
. I have tried it the following ways:
[ADD_COMMENT]: (state, action) => {
...state,
comments: {
...state,
action.payload
}
}
or
[ADD_COMMENT]: (state, action) => ({
...state,
comments: {
...state,
action.payload
}
})
as well as:
[ADD_COMMENT]: (state, action) => {
return {
...state,
comments: {
...state,
action.payload
}
}
}
I am unable to see why my code is not correct, my linter in atom is saying its the dot between action and payload but I'm not sure.
The action creator just returns a type of ADD_COMMENT and payload of the individual comment in the following format:
{
"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"
}