Я использую редуктор для обновления контекста.
case 'SET_POSTS':
return { ...state, posts: action.posts };
case 'REMOVE_POST':
return {
...state,
posts: state.posts.filter(post => post.id != action.id)
};
Эта отправка не будет запускать обновление
dispatch({ type: 'SET_POSTS', posts: [res, ...context.posts] });
Но это будет, за исключением нового сообщения на неправильный конец массива.
dispatch({ type: 'SET_POSTS', posts: [...context.posts, res] });
Я мог бы предположить, что это может быть проблема с оператором распространения, перезаписывающим первый пост, но я не могу заставить редуктор правильно отфильтровать правильный пост, когда я Удалить сообщение либо.
dispatch({ type: 'REMOVE_POST', id: state.id });
Вот мое начальное состояние.
const initialState = {
user: null,
errors: [],
loading: false,
posts: []
};