Wissen Sie, was sich zwischen den TS-Versionen geändert hat, um dies zu einem Fehler zu machen? Ich konnte im Änderungsprotokoll nichts finden, was darauf hindeutet, dass sich dies ändern würde.
– mtor
26. September 2020 um 0:30 Uhr
Update: Ich habe eine binäre Suche durch Typescript-Versionen auf npm durchgeführt, und dies wurde zwischen Version 4.0.0-dev.20200624 und 4.0.0-dev.20200625 zu einem Problem. Sie können die Unterschiede zwischen diesen Versionen hier überprüfen: diff.intrinsic.com/typescript/4.0.0-dev.20200624/…
– mtor
26. September 2020 um 1:36 Uhr
Danke, das habe ich getan: const { sumParams } : any = useParams(); Ich gewöhne mich noch an das Typoskript, bis jetzt sehe ich einfach keinen Vorteil darin, auf eine elegante, dynamische Sprache wie JS zugunsten des verschlungenen TS zu verzichten, aber vielleicht bekomme ich es eines Tages hin …
Hallo @keemor, ich habe dir eine Stimme gegeben und dich auch in meiner Antwort zitiert
– Yoel
23. September 2020 um 14:09 Uhr
Es ist nicht gut, da Sie einfach eine Typaussage erzwingen. Verwenden Sie den generischen Ansatz von useParams<TS type here>() Funktion. Dadurch kann der TS-Compiler auf Ihren Typ auf der linken Seite schließen.
– hastrb
4. Juli um 6:26
weiß
Damit es wie zuvor funktioniert, fügen Sie einfach “:any” hinzu
const { sumParams } : any = useParams();
Bei neueren Versionen des Routers wird Generic von Object zu Union of Strings geändert.
Mit diesem Ansatz können Sie beliebig viele Parameter abrufen, ohne sie einzeln deklarieren zu müssen
Dies ist bereits der zweite Vorschlag in der akzeptierten Antwort.
– MEMark
20. September 2021 um 22:56 Uhr
Caleb C. Adainoo
Sie können auch auf die zugreifen params aus useRouteMatch wenn Sie es bereits in Ihre Datei importiert haben
const curRoute = useRouteMatch();
// @ts-ignore
let sumParams = curRoute.params.sumParams
Dies ist bereits der zweite Vorschlag in der akzeptierten Antwort.
– MEMark
20. September 2021 um 22:56 Uhr
10297600cookie-checkTypeScript-Fehler nach dem Upgrade von Version 4 useParams () von React-Router-Dom Eigenschaft „sumParams“ existiert nicht auf Typ „{}“yes