2016-07-24 7 views
-1

私は、その状態をパラメータとしてコールする反応のチェックボックスを持っています。リアクトで状態としてパラメータを呼び出す

<p> 
    <input 
    type="checkbox" 
    name="hobbies" 
    checked={this.state.All} 
    onChange={this.checkHobbies.bind(this, "all")} 
    /> 
    All Hobbies 
</p> 

私の問題のコードはここにある:

checkHobbies(name) { 
    this.setState({ 
    name: !this.state.name, 
    }); 
} 

SetState関数は、しかし、実際の状態ではなく、この場合は「すべて」と呼ばれる変数であるパラメータに渡される変数として名を解釈。 「すべて」、その後seStateは、以下のように解釈されるように値が渡された場合

this.setState({ 
    all: !this.state.all 
}); 
+0

あなたは[名前]意味ですか!this.state [名前]を? –

+0

@Utroはい、それは私が意味するものです – lost9123193

答えて

1
checkHobbies(name) { 
    this.setState({ 
    [name]: !this.state[name], 
    }); 
} 

:コードとしての機能を解釈するように、どのように私はそれを作るだろう。

this.setState({ 
    all: !this.state.all 
}); 
+0

これはうまくいきました、ありがとう! – lost9123193

0

使用

checkHobbies(name) { 
    this.setState({ 
    [name]: !this.state[name], 
    }); 
} 
関連する問題