Получение данных из rtkQuery
Всем привет у меня есть фукнция из rtkQuery, из которой я получаю состояние isLoading. Мне нужно это состояние использовать в другом (родительском) компоненте. Но я не хочу прокидывать несколько props, т.к. это против концепции redux.
const [addCommentForArticle, { isLoading: isLoadingUpdate }] =
useAddCommentForArticleMutation();
по идеи isLoading должен храниться в stor, но вопрос в том как его получить?
Вот способ получения данных из rtkquery store по get запросу. как сделать так же для мутации?
const articleApi = rtkApi.injectEndpoints({
endpoints: (build) => ({
//! типа данные с сервера, и типа параметров (нет)
getArticleById: build.query({
query: (articleId) => ({
url: `/articles/${articleId}`,
params: {
_expand: 'user',
},
}),
}),
}),
});
export const { useGetArticleByIdQuery } = articleApi;
//! получение из store
export const useGetArticleById = (articleId: string) =>
createSelector(
articleApi.endpoints.getArticleById.select(articleId),
(usersResult) => usersResult.data,
);
// const testData = useAppSelector(useGetArticleByIdData);
Ответы (1 шт):
Автор решения: Armen
→ Ссылка
например вот так. (предпологаю есть еще варианты)
const Parent = () => {
const [_, { isLoading }] = useSomeMut({
fixedCacheKey: "xyz",
});
return (
<div>
<Child />
</div>
);
};
const Child = () => {
const [f, { data, isLoading }] = useSomeMut({
fixedCacheKey: "xyz",
});
useEffect(() => {
f(".............");
}, []);
return <div></div>;
};