2017-12-21 15 views
-2

以下のコードで何が問題になっていますか?私は動的変数を使用してsetStateしたい。 KYEは名前がある場合es6がsetStateで計算されたキー

function(key) { 
    this.setState({ 
     order[key]: `${this.state.order[key]}` === true ? 'asc' : 'desc' 
    }) 
} 

私は道

function(key) { 
     let value = this.state.order[key] == true ? 'asc' : 'desc' 
     this.setState({ 
      [order[key]]: value 
     }) 
    } 
+2

(他の補間されたリテラルまたはからの)文字列は '=== true'になることはありません

function(key) { let order = this.state.order; order[key] = (this.state.order[key] === true) ? 'asc' : 'desc'; this.setState({order}); } 

以下のような何かを行う必要があります。 – Bergi

+0

'$ {this.state.order [key]}'で期待していることは本当ですか? 'asc': 'desc'? – Faly

+0

Bergiが言っているように、私はもっと注意深く見ているので、構文だけでなく、このコードには複数の問題があります。 –

答えて

0

あなたが直接オブジェクトまたは配列内部の値を変更することはできません状態を設定しながら、次の試してみてくださいthis.state.ordername

関連する問題