2017-10-21 7 views
1

私は以前にこのような要求を持っている:reactjsリクエストで条件を実装する方法は?

let data = { 

     chartLibraryType : this.state.chartCategory == 'highChart'? "HIGH_CHARTS" : "C3", 

    }; 

今、私はまた、D3を渡す必要がhighchartsとC3と一緒に3を実装する必要があります。

let data = { 

     chartLibraryType : if(this.state.chartCategory == 'highChart'){ 
          "HIGH_CHARTS" 
         }else if(this.state.chartCategory == 'c3Chart'){ 
          "C3" 
         }else if(this.state.chartCategory == 'D3Chart'){ 
          "D3" 
          }, 

    }; 

これは、2つを超えると実装する方法ですか?

答えて

4

まず、dictionaryを作成できます。

let dictionary={ 
    "highChart" : "HIGH_CHARTS", 
    "c3Chart" : "C3", 
    "D3Chart" : "D3" 
} 

その後、あなたはbracket表記法を使用して辞書のキーとして状態を渡す必要があります。

let data = { 
    chartLibraryType : dictionary[this.state.chartCategory] 
} 
+1

感謝を見てみるためにご招待します –

0

あなたは、Siのようなスイッチを使用することができます。

let data = { chartLibraryType: '' } 

switch (this.state.chartCategory) { 
    case 'highChart': 
    data.chartLibraryType = 'HIGH_CHARTS' 
    break 
    case 'c3Chart': 
    data.chartLibraryType = 'C3' 
    break 
    case 'D3Chart': 
    data.chartLibraryType = 'D3' 
    break 
    // Add as much `case` as you wish without forgetting the break clause 
    // If you'd like to fallback to a default value 
    default: 
    break 
} 

私も本のこの素晴らしいコレクションで迅速な対応のための"You don't know JS"