Typescript: ES6 рд╡рд░реНрдЧ рдирд┐рд░реНрдорд╛рддрд╛ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдорд╛рд░реНрдЪ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг:

1.7.5

рдХреЛрдб

class Foo extends React.Component<any, any> {
 // ... some class definitions
}
Foo.defaultProps = {
  bar: 'baz'
}

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░:

рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:

TS2339: рд╕рдВрдкрддреНрддрд┐ 'defaultProps' рдкреНрд░рдХрд╛рд░ 'рдЯрд╛рдЗрдкреЛ рдлреВ' рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рд╡рд┐рд╡рд░рдг

рдирдорд╕реНрддреЗ, рдореИрдВ ES6 рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдКрдкрд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЕрдЧрд░ рдореИрдВ рдХреНрд▓рд╛рд╕ рдмреЙрдбреА рдХреЗ рдмрдЬрд╛рдп рдКрдкрд░ рдХреА рддрд░рд╣ рдХреНрд▓рд╛рд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗрдЯ рдХрд░ рд╕рдХреВрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛ред рд▓рдЧрддрд╛ рд╣реИ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рддреНрд░реБрдЯрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ defaultProps рдкрд░ Foo defaultProps рд╕реНрдерд┐рд░ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕реА рдкреНрд░реЙрдкрд░реНрдЯреА рдЪрд╛рд╣рд┐рдПред

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;

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рддреНрд░реБрдЯрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ defaultProps рдкрд░ Foo defaultProps рд╕реНрдерд┐рд░ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕реА рдкреНрд░реЙрдкрд░реНрдЯреА рдЪрд╛рд╣рд┐рдПред

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:

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

remojansen picture remojansen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

uber5001 picture uber5001  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zhuravlikjb picture zhuravlikjb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manekinekko picture manekinekko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dlaberge picture dlaberge  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ