У меня есть маршрут, по которому я получаю все категории
getAllCategoriesAdmin: builder.query({
query: () => 'categories/allAdmin',
providesTags: ['CategoriesAdmin']
})
Затем я получаю данные о категориях из рефакторинга данных части useGetAllCategoriesAdminQuery.
const { isLoading, isError, data = {} } = useGetAllCategoriesAdminQuery();
Теперь я хочу реализовать поле поиска, в котором я хочу обновить эту часть данных новыми данными, другими словами, когда я создаю новый маршрут.
getAllCategoriesAdminSearch: builder.query({
query: () => 'categories/allAdminSearch',
providesTags: ['CategoriesAdmin'],
})
Есть ли способ, которым я могу повторно обновить часть данных из useGetAllCategoriesAdminQuery, поэтому мне не нужно делать другие данные из useGetAllCategoriesAdminSearchQuery
const { data = {} } = useGetAllCategoriesAdminSearchQuery();
это то, что вы спрашиваете? useGetAllCategoriesAdminSearchQuery({foo: "bar:})
Я не совсем понимаю ваш вопрос, но я предполагаю, что у вас есть API запросов, и вам нужен поисковый запрос для этого API. Я надеюсь, это поможет вам.
есть много способов повторно получить данные:
1: Я думаю, что ваш API должен поддерживать некоторые параметры запроса для таких поисков:
getAllCategoriesAdmin: builder.query({
query: (searchInput) => `categories/allAdmin/?search=${searchInput}`,
providesTags: ['CategoriesAdmin']
})
Запрос RTK создает ключ кеша на основе URL-адреса запроса и параметров, поэтому, если вы измените ввод поиска, он автоматически создаст новый запрос и извлечет данные.
2:
другой способ - использовать invalidateTags
, например, если у вас есть запрос на изменение, вы можете аннулировать теги в этом случае CategoriesAdmin
, и это заставляет RTK очищать кеш для соответствующего запроса и обновлять данные.
3:
refetch
функция. каждый useHookQuery в RTK имеет функцию повторной выборки, которую вы можете назначить своему событию поиска для повторной выборки новых данных.
const { refetch, isLoading, isError, data = {} } = useGetAllCategoriesAdminQuery();
Отвечает ли это на ваш вопрос? Повторная загрузка по нажатию кнопки в RTK Query не запускает обновление компонента