Я изо всех сил пытаюсь отредактировать комментарий, вот что вы могли бы сделать:
После POST-комментария в БД я бы получил GET-запрос для обновления данных и отправил GET-запрос в действие.
Действие (это самый простой пример, вы можете обрабатывать загрузку и ошибки):
export const ActionGetAllComments = payload => ({
type: GET_ALL_COMMENTS,
payload
});
export const ActionPostComment = (URL_API_POST_COMMENT, URL_API_GET_COMMENTS) => {
return dispatch => {
axios.post(URL_API_POST_COMMENTS)
.then(()=>axios.get(URL_API_GET_COMMENT))
.then((response)=>response.data)
.then(response => dispatch(ActionGetAllComments(response))
}
};
Как вы получите все комментарии в запросе GET, редуктор просто вернетвсе результаты без конкатенации необходимы, так как это перезапишет предыдущее состояние. Reducer :
export const ReducerGetAllComments = (state=[], action) => {
switch (action.type) {
case GET_ALL_COMMENTS:
return action.payload
default:
return state;
}
};
Вам необходимо добавить redux-thunk в ваш пакет и настроить его в своем магазине следующим образом:
import thunk from 'redux-thunk';
import { createStore, combineReducers, applyMiddleware } from 'redux'
export const Store = createStore(
rootReducer,
applyMiddleware(thunk)
)
Если вам нужно настроить таргетингконкретные комментарии в зависимости от идентификатора пользователя, вы можете добавить аргумент идентификатора в ActionPostComment.Затем отправьте его своим запросам, создайте запросы по внутреннему маршруту и отправьте обратно конечный результат с помощью запроса GET.