#reactjs #react-native #graphql #apollo
#reactjs #react-native #graphql #apollo
Вопрос:
Я пытаюсь создать приложение с постоянным AsyncStorage. Следуя этим документам, я приземлился здесь.. Проблема здесь в том, что он говорит, что клиент не определен, потому что он находится в функции. Но в документах говорится, что persistCache должен быть объявлен в асинхронной функции..
Может ли кто-нибудь помочь мне решить эту проблему элегантным способом?
import AsyncStorage from "@react-native-async-storage/async-storage";
import { persistCache, AsyncStorageWrapper } from "apollo3-cache-persist";
function App() {
useEffect(() => {
async function init() {
const cache = new InMemoryCache();
await persistCache({
cache,
storage: new AsyncStorageWrapper(AsyncStorage),
});
const client = new ApolloClient({
link: authLink.concat(httpLink),
cache: new InMemoryCache(),
});
}
init();
}, []);
return (
<ApolloProvider client={client}>
<AuthProvider>
<Navigation />
</AuthProvider>
</ApolloProvider>
);
}
export default App;
Комментарии:
1.
const [client, setClient] = useState(undefined);
отсутствует … как в документах … и «повторное использование»cache
, не создавайте другой, новый экземпляр позже2. Я считаю, что документация не обновлена github.com/apollographql/apollo-cache-persist/issues/412