#javascript #reactjs #redux #redux-thunk #redux-toolkit
#язык JavaScript #реагирует на #возвращение #передел-тук #redux-инструментарий
Вопрос:
Существует действие для обновления элемента:
reducers: { ITEM_UPDATED: (state) =gt; { ...someCode... } }
Тогда возникает необходимость обновить не один элемент, а несколько, какое решение здесь было бы более правильным:
- Создайте thunk для обновления нескольких элементов и оттуда вызывайте обновление каждого по одному:
const updateItems = () =gt; (dispatch) =gt; { const items = axios.get('...'); items.forEach(( item ) =gt; dispatch(ITEM_UPDATED, item)) }
- Переместите обработчик обновления элемента в отдельную функцию и повторно используйте его.
const handleItemUpdated = (state) =gt; { ... } reducers: { ITEM_UPDATED: (state, item) =gt; handleItemUpdated(state, item); ITEMS_UPDATED: (state, items) =gt; { items.forEach(( item) =gt; handleItemUpdate(state, item)); } }
Комментарии:
1. Почему бы не использовать элементы в качестве полезной нагрузки, передать их один раз и выполнить пакетное обновление?
dispatch(ITEM_UPDATED, items)