ΠΠ΅ΡΡΠΈΡ TypeScript:
1.7.5
ΠΠΎΠ΄
class Foo extends React.Component<any, any> {
// ... some class definitions
}
Foo.defaultProps = {
bar: 'baz'
}
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
ΠΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
TS2339: ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ defaultProps Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ ΡΠΈΠΏΠ° typeof Foo.
ΠΡΠΈΠ²Π΅Ρ, Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ES6 , ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΡΠ΅.
ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ ΠΌΠΎΠ³ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π»Π° ΠΊΠ»Π°ΡΡΠ°. ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΌΠ°ΡΠΈΠ½ΠΎΠΏΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ?
ΠΡΠΈΠ±ΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ defaultProps
ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Foo
. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ.
class Foo extends React.Component<any, any> {
static defaultProps: any;
}
Foo.defaultProps = {
bar: 'baz'
}
Π ΠΎΠ±ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡ Π±ΡΠ» ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠΈΠΏΠ° P
Π²ΠΌΠ΅ΡΡΠΎ any
, ΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΈ Π±Ρ class Foo extends React.Component<P, ...
ΠΈ static defaultProps: P;
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ΄Π°:
class Foo { ... }
namespace Foo {
export const defaultProps = {
...
}
}
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π΄ΠΎΠ±ΡΡΠ΅ ΠΎΡΠ²Π΅ΡΡ! : +1:
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΈΠ±ΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ
defaultProps
ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°Foo
. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ.Π ΠΎΠ±ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡ Π±ΡΠ» ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠΈΠΏΠ°
P
Π²ΠΌΠ΅ΡΡΠΎany
, ΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΈ Π±Ρclass Foo extends React.Component<P, ...
ΠΈstatic defaultProps: P;