Во-первых, вам нужно четкое понимание редукса.это бэк-магазин на вашем фронте.хранить данные в формате FIFO или LIFO, как вы определили.Вы не можете переназначить его, просто вернитесь с action-object, используя оператор ES6 SPREAD
и используя деструктуризацию.Я пытаюсь привести пример ниже:
const postsReducerDefaultState = [];
const postsReducer = (state=postsReducerDefaultState, action) => {
switch(action.type) {
case 'ADD_POST':
return [action.post, ...state];
case 'REMOVE_POST':
return state.filter(post => post.id !== action.id)
case 'SET_POSTS':
return action.posts;
default:
return state;
}
};
export default postsReducer;
ADD_POST
: сначала верните [action.post, ...state]
самое позднее, затем распространяйте ваше старое сообщение.
SET_POSTS
: верните action.posts
, которое вы передали с вашимдействие.Если вы хотите установить свойство объекта, тогда используйте свойство destructuring
return {
...state,
text:action.text
}
text
, которое уже есть в вашем состоянии.если нет, то это добавит свойство в ваш штат.Я думаю, что это поможет вам понять что-то избыточное.