2016-08-29 4 views
0

次のコードが動作します。エラーは発生せず、Web StormのIDEは驚くことではありません。Reactコンポーネントのプライベートプロパティの使用

しかし、私はこれに関するドキュメントを見逃しているに違いありません。

export default class WidgetContainer extends React.Component { 
    .... 

compListeners = [ 
    {name: "collapseWidget", action: this._widgetCollapse.bind(this)}, 
    {name: "goFullscreen", action: this._goFullScreen.bind(this)} 
    ]; 

    componentDidMount() { 
    this.compListeners.map(ev => { 
     window.addEventListener(ev.name, ev.action, false) 
    }); 
    } 

    componentWillUnmount() { 
    this.compListeners.map(ev => { 
     window.removeEventListener(ev.name, ev.action, false) 
    }); 
    } 

    .... 
} 

それはcompListenersこのようなを宣言する反応で許容練習ですか?私はたくさんのコードを保存します。

+1

IMO..yes ..できます –

答えて

0

反応ではオブジェクトの配列を宣言することは完全に受け入れられます。あなたがしたこと

compListeners = [ 
    {name: "collapseWidget", action: this._widgetCollapse.bind(this)}, 
    {name: "goFullscreen", action: this._goFullScreen.bind(this)} 
    ]; 

名前とアクションのプロパティを持つオブジェクトの宣言と配列です。

window.addEventListener()あなたは問題のないように上記の関数を必要に応じて配列からパラメータを渡すだけです。

関連する問題