親コンポーネントには、子コンポーネントからデータを収集する2つの別々のイベントハンドラがあります。Reactのスコープデータ
私のhandleSubmitハンドラの中で、両方のデータオブジェクトをポストするメソッドを呼び出す必要があります。 data2ハンドラー内のdata1にアクセスするにはどうすればよいですか?
親コンポーネントには、子コンポーネントからデータを収集する2つの別々のイベントハンドラがあります。Reactのスコープデータ
私のhandleSubmitハンドラの中で、両方のデータオブジェクトをポストするメソッドを呼び出す必要があります。 data2ハンドラー内のdata1にアクセスするにはどうすればよいですか?
あなたのデータ値は別のコンポーネント(親)を介して渡されるので、それは、小道具を通過していますし、それらの値は変更されません場合にはthis.props
を介してアクセスすることができた場合は、それ以外の場合は、あなたのデータを保存する必要があるかもしれませんがdata1
値とコンポーネントの状態経由data2
フォローようなものにするために:あなたは単にあなたが事前に定義されたメソッド(handleClick)にアクセスしたい場合は、this.setState({})
を使用するのと同じようにすることができますリアクトクラスを作成し、メソッドを定義する場合
handleClick(data1){
this.setState({data1});
}
handleSubmit(data2){
this.setState({data2});
method(this.state.data1, this.state.data2)
}
を書く。 キーワードは、このコンテキストでクラスを参照します。
class MyCompnonent extends React.Component{
handleClick(data){
this.setState({
data1: data
});
console.log(data1);
}
handleSubmit(data2){
console.log(data);
this.method(this.state.data1, data2);
}
}
それがために、 'this.state.data1'と'への呼び出しがthis.setState'と呼ばれるハンドラ定義内this' 'の正しいスコープを持つようにすることは注目に値します、あなたがする必要がありますイベントハンドラが親MyComponentクラスに正しくバインドされていることを確認してください(例: 'this.handleClick = this.handleClick.bind(this);')。 – Pineda
ありがとうございます。投票に値する? :-P – Pineda