JSFiddle - React, Tailwind, and code Playground
by Artem
Babel + JSX
'use strict';
const initialState = {
news: [
{
id: 1,
text: 'Hello!',
createdBy: '',
comments: [{ id: 0, author: 0, commentText: 0 }]
},
{
id: 2,
text: 'TEST',
createdBy: '',
comments: [{ id: 11, author: 11, commentText: 11 }, { id: 12, author: 12, commentText: 12 }]
},
{
id: 3,
text: 'TEXT:)',
createdBy: '',
comments: []
}
]
}
const newsReducer = (state = initialState, action) => {
switch (action.type) {
case actionTypes.ADD_COMMENT:
const { id, author, commentText, newsItemId } = action.payload;
// which element to update
const index = state.news.findIndex(item => item.id === newsItemId);
return {
...state,
news: [
...state.news
[index] = {
...state.news[index],
comments: state.news[index].comments.concat({ id, author, commentText })
}
]
}
default:
return state;
}
}
var a =