используя запрос RTK, как можно использовать функцию выборки для обновления другого состояния другого слайса?
По сути, я пытаюсь расположить все связанные состояния рядом друг с другом, поэтому после запроса данных с помощью useLazyGetQuery
я хотел бы использовать результат и сохранить его в существующем состоянии срезов.
Несмотря на то, что что-то вроде приведенного ниже работает из компонента, это делает весь код беспорядочным
const [trigger, result, lastArg] = useLazyGetFiltersQuery();
React.useEffect(() => {
if (result.status === 'fulfilled' && result.isSuccess === true && result.isLoading === false) {
dispatch(updateData(result.data.map((pg) => ({ label: pg, value: pg }))));
}
}, [dispatch, result, result.isLoading, result.isSuccess, result.status]);
Я бы предпочел настроить некоторую логику непосредственно в методе createApi
, чтобы результирующие данные сохранялись с самого начала в нужном мне фрагменте.
Спасибо
Если мы просто не включим редуктор, сгенерированный
createApi
, в наше хранилище, а будем использовать средство сопоставления только для перехвата этих асинхронных действий, что позволит избежать дублирования данных в нашем хранилище?@TKforce Theat сделает промежуточное программное обеспечение бесполезным, поскольку оно довольно сильно зависит от этого состояния. Таким образом, в конце концов у вас останутся только преобразователи для выборки данных и т.д., даже им могут понадобиться некоторые из этих данных редуктора. Но даже если бы это работало, вы бы отключили около 90% RTK-Query.