APIを照会し、アイテムのJSONリストを取得し、アイテムごとに個別のボタンを作成する単純なReactアプリケーションを作成しています。 API呼び出しが完了すると、アプリケーションの状態がJSONオブジェクトに変更され、render()メソッドがボタンのリストをレンダリングします。動的に生成されるコンポーネントのReact-onClick
axios.get('http://api_url')
.then(response => {
this.setState({applicationJSON: response.data});
})
.catch(function (error) {
console.log(error);
});
問題は、私はこれらのボタンにonClickを添付できないということです。
これらのボタンのいずれかをクリックすると、handleClick()が定義されていないというエラーが表示されます。
これは、コンストラクタでButtonアイテムを作成し、onClickをhandleClickにバインドするときに、handleClick()が呼び出されるときのように、動的に生成される要素に問題があることは知っています。
Reactの動的生成コンポーネントのボタンクリックを処理する正しい方法は何ですか?我々は(text.map
中)function
キーワードを使用する場合、その関数の内部this
が囲む範囲と同じthis
を参照していないので、それは動作しません
Hm ..コンストラクタでそのバインディングステートメントを追加した後でも、未定義のhandleClick 'プロパティを読み取ることができないというエラーが表示されます。 –
答えの2番目の部分を使用して動作するようになりましたが、変更内容を正確には確認できませんでした。 –
私の間違い、私はいくつかの説明で私の答えを編集しました –