In Version 0.8.0-beta.0
die Implementierung von RestLink
defekt. Ich habe dieses Tutorial befolgt, aber der erste Codeblock bricht bereits:
// Create a RestLink for the Github API
const link = new RestLink({ uri: 'https://api.github.com' });
// Configure the ApolloClient with the recommended cache and our RestLink
const client = new ApolloClient({
cache: new InMemoryCache(),
link,
});
führt zu folgendem TypeScript-Fehler:
Type 'RestLink' is missing the following properties from type 'ApolloLink': split, concat
Einzelheiten:
{
"resource": "/*redacted*/src/file.ts",
"owner": "typescript",
"code": "2739",
"severity": 8,
"message": "Type 'RestLink' is missing the following properties from type 'ApolloLink': split, concat",
"source": "ts",
"startLineNumber": 11,
"startColumn": 3,
"endLineNumber": 11,
"endColumn": 7,
"relatedInformation": [
{
"startLineNumber": 17,
"startColumn": 5,
"endLineNumber": 17,
"endColumn": 9,
"message": "The expected type comes from property 'link' which is declared here on type 'ApolloClientOptions<NormalizedCacheObject>'",
"resource": "/*redacted*/node_modules/apollo-client/ApolloClient.d.ts"
}
]
}
Dieses Verhalten lässt sich im Codesandbox-Beispiel reproduzieren, indem die Abhängigkeit apollo-link-rest
auf 0.8.0-beta.0
aktualisiert wird.
Das Zurücksetzen auf v0.7.3
behebt das Problem.
Danke @lextas — die Beta ist nur für die Verwendung mit Apollo-Client 3.0 (und verwandten Apollo-Paketen in kompatiblen Versionen) gedacht.
Leider hat sich Apollo-Client 3.0 aufgrund von Weltereignissen verzögert, und ich weiß derzeit nicht, wann der Versand geplant ist.
Okay, das wusste ich nicht. Ich bin nur den Dokumenten gefolgt. Ich werde das Thema schließen. Es ist gut, dies für andere dokumentiert zu haben, die auf das gleiche Problem stoßen. Es passiert wahrscheinlich mehr Leuten, da viele Leute nur npm install
(oder yarn
) die neueste Version haben und es nicht funktioniert.
Hmm, also welche Versionen sollte ich verwenden? Ich habe gerade die Einrichtungsanleitung dafür befolgt und bin auf dieses Problem gestoßen.
"apollo-cache-inmemory": "^1.6.6",
"apollo-client": "^2.6.10",
"apollo-link": "^1.2.14",
"apollo-link-rest": "^0.8.0-beta.0",
@Andrew1431 -- mit diesen Versionen der anderen Pakete möchten Sie "apollo-link-rest": "^0.7.0"
Hilfreichster Kommentar
Okay, das wusste ich nicht. Ich bin nur den Dokumenten gefolgt. Ich werde das Thema schließen. Es ist gut, dies für andere dokumentiert zu haben, die auf das gleiche Problem stoßen. Es passiert wahrscheinlich mehr Leuten, da viele Leute nur
npm install
(oderyarn
) die neueste Version haben und es nicht funktioniert.