Imは複数のボタンを作成しますが、私は押されたボタンに応じたアクションを処理する方法を知らない反応するコンポーネントを作る、これはコンポーネントです:反応小道具を介してパラメータを渡す方法?
var SingleChoiceGroup = React.createClass({
render(){
var numberOfButtons = this.props.numberOfButtons;
var prefix = this.props.prefix;
var buttons = [];
for(var i = 0;i<numberOfButtons;i++){
buttons.push(
<Button value={i} onClick={() => this.props.selectedItem(i)}>{prefix + " " + (i+1)}</Button>
);
}
return(
<div>
{buttons}
</div>
)
}
});
そして、これが法である私が取得したいし、パラメータ:
var AnotherComponent = React.createClass({
selectedDay(i){
// Here I want to read the index parameter from the other component.
},
render(){
<SingleChoiceGroup selectedItem={() => this.selectedDay()} numberOfButtons={7} prefix={"Text"}/>
}
});
私はかなり反応しました。「何かをバインドする」という意味は、 'selectedItem = {this.selectedDay}'を試しましたが、 'selectedDay'メソッドで常に同じ値(7)を返します。 –
あなたが言及した問題を修正し、私の答えを作業スニペットで更新しました。 「バインド」はReactの用語ではなく、JavaScriptの用語です。あなたがそれを使う必要がある理由は、ここで説明されています:https://facebook.github.io/react/docs/handling-events.html(「慎重にしてください」という段落までスクロールしてください) ) –
ありがとう、今私は 'var'と' let'の違いを理解しています –