így lehet deklarálni a függvénytípusokat a Typescript interfészeken belül. Ezt a cikket azért írta, mert zavaros információk vannak, és a Typescript dokumentáció nem közvetlenül a szintaxisról szól.
(Megjegyzés: A következő példák csak a Typescript React osztályokat használják példaként, mert a függvénytípusok különösen hasznosak ott, de a szintaxis minden Typescript interfészre vonatkozik.)
1. példa: olyan függvény, amely nem vesz fel argumentumokat és nem ad vissza értéket:
az alábbi példábanonChange
a függvény deklarációja. A függvény semmit sem ad vissza (érvénytelen), így a visszatérési típust bárminek nyilvánítjuk. Ez azért van, mert a void és soha nem értékelik másképp a különböző kontextusokban (a jelen cikk hatályán kívül). (Az alábbiakban bemutatunk néhány példát a beírt visszatérési értékekre.)
interface MyClassProps {
someProp: string;
onChange(): any;
}class MyClass extends React.Component<MyClassProps, MyClassState> ...
2.példa: argumentumot elfogadó függvény:
tartalmazza az argumentum nevét és típusát. Az argumentum neve szükséges, de nem kell egyeznie a valós függvény példányosításakor, de a típusnak meg kell egyeznie. Ez kacsa gépelt, mint minden géppel.
interface MyClassProps {
anotherProp: number;
onChange(name: string): any;
}
3. példa: Függvény, amely argumentumot fogad el és értéket ad vissza:
Ez a függvény argumentumként egy karakterláncot fogad el, és egy számot ad vissza.
interface MyClassProps {
onChange(name: string): number;
}
4.példa: opcionális függvény:
utótag a tulajdonság nevét az opcionális operátorral ?
. Helyezze a?
értéket a tulajdonság neve után és az argumentumlista elé. A TypeScript React-ben minden kellék szükséges, kivéve, ha az opcionális operátort használja. Mint minden nem szükséges kellék a React – ben, a használat előtt ellenőriznie kell, hogy a kellék undefined
.
interface MyClassProps {
onChange?(name: string): number;
niceProp: boolean;
}
5.példa: a típus kulcsszó használata:
néha célszerű először deklarálni a függvény típusát, majd a típust egy felületen használni. A függvény típusként történő deklarálásához a szintaxis kissé eltér. Használja a nyíl operátort.
type MyFunctionType = (name: string) => number;interface MyClassProps {
onChange: MyFunctionType;
niceProp: string;
}
élvezze.