2016-04-02 11 views

答えて

35

デフォルトの小道具をこのように定義することができます。

export class Counter extends React.Component { 
    constructor(props) { 
    super(props); 
    this.state = {count: props.initialCount}; 
    this.tick = this.tick.bind(this); 
    } 
    tick() { 
    this.setState({count: this.state.count + 1}); 
    } 
    render() { 
    return (
     <div onClick={this.tick}> 
     Clicks: {this.state.count} 
     </div> 
    ); 
    } 
} 
Counter.propTypes = { initialCount: React.PropTypes.number }; 
Counter.defaultProps = { initialCount: 0 }; 

これは、クラス本体内の静的フィールドとしてdefaultPropsを定義する活字体で同等である:で動作するように、このために

class SomeComponent extends Component<IProps, IStates> { 
    public static defaultProps: IProps = { /* ... */ }; 
    // ... 
} 
+2

TypeScriptを使用する場合は、セミコロンの直前に 'as IProps'を追加して、オブジェクトをIPropsにキャストする必要があります。 –

+6

提供されたリンクでは、 'defaultProps'については説明しません。代わりに、https://facebook.github.io/react/docs/react-component.html#defaultprops – WoodenKitty

+0

Thanks @WoodenKittyを参照して、しばらくの間、ドキュメントを探してみてください。 Googleは役に立たなかった –

関連する問題