Использование QueryClientProvider в оболочке ⇐ Javascript
-
Гость
Использование QueryClientProvider в оболочке
Я хочу использовать один компонент-оболочку в предоставляемой мной библиотеке. Обертка должна предоставлять такие вещи, как Context и QueryClient. Компонент выглядит следующим образом:
import { QueryClient, QueryClientProvider } из «реагировать-запроса»; константный клиент = новый QueryClient(); функция-обертка (реквизит) { возвращаться ( {реквизит.дети} ); } При упаковке дочерних элементов с помощью Wrapper useQuery выдает ошибку, что QueryClientProvider не установлен. В этом случае App использует хук useQuery из реакции-запроса.
import { Wrapper } из "my-lib"; ReactDOM.render( , document.getElementById("корень") ); Сначала я подумал, что вам нужен QueryClientProvider непосредственно над перехватчиком useQuery. Но, например, в Storybook вы можете определить один QueryClient для всех историй вместе. Где я ошибся?
Изменить: Компонент приложения:
import { useQuery } из «реагировать-запрос»; экспортировать константное приложение = () => { const data = useQuery("data", () => fetch("https://jsonplaceholder.typicode.com/todos/1").then((res) => res.json() ) ); if (data.isError || data.isLoading) return Ошибка/Загрузка; вернуть {data.data.title}; };
Я хочу использовать один компонент-оболочку в предоставляемой мной библиотеке. Обертка должна предоставлять такие вещи, как Context и QueryClient. Компонент выглядит следующим образом:
import { QueryClient, QueryClientProvider } из «реагировать-запроса»; константный клиент = новый QueryClient(); функция-обертка (реквизит) { возвращаться ( {реквизит.дети} ); } При упаковке дочерних элементов с помощью Wrapper useQuery выдает ошибку, что QueryClientProvider не установлен. В этом случае App использует хук useQuery из реакции-запроса.
import { Wrapper } из "my-lib"; ReactDOM.render( , document.getElementById("корень") ); Сначала я подумал, что вам нужен QueryClientProvider непосредственно над перехватчиком useQuery. Но, например, в Storybook вы можете определить один QueryClient для всех историй вместе. Где я ошибся?
Изменить: Компонент приложения:
import { useQuery } из «реагировать-запрос»; экспортировать константное приложение = () => { const data = useQuery("data", () => fetch("https://jsonplaceholder.typicode.com/todos/1").then((res) => res.json() ) ); if (data.isError || data.isLoading) return Ошибка/Загрузка; вернуть {data.data.title}; };
Мобильная версия