名前が異なる複数の入力ボックスがあります。 ":のonChangeで未定義のプロパティを読み取ることができません 'handleChange' キャッチされない例外TypeError" それは等を介してのエラーreactJsでユーザーの入力に応じてプロパティに異なる値を設定する方法
import React, { Component } from 'react';
import cookie from 'react-cookie';
import Request from 'superagent';
export default class Performance extends Component {
constructor() {
super();
this.state = {
fullName : cookie.load('fullName'),
empId : cookie.load('empId'),
userResults : [{
"sectionTitle": "Customer Orientation",
"isMandatory": 0,
"question": [{
"qusId": 1,
"question": "Number of customer ",
"weightage": 15,
}]
}]
};
}
handleChange(event) {
this.setState({[event.target.name]: event.target.value});
}
render() {
return (
<div >
<div className="container ">
<form className="form-signin1">
{
this.state.userResults.map(function(res)
{
var questions = res.question.map(function(res1){
return (
<tr>
<td><input type="textbox" value="" name={'ques_check_box_1_1'} onChange={(e) =>{this.handleChange.bind(this)}}/></td>
<td><input type="textbox" value="" name={'ques_check_box_1_2'} onChange={(e) =>{this.handleChange.bind(this)}}/></td>
<td><input type="textbox" value="" name={'ques_check_box_1_3'} onChange={(e) =>{this.handleChange.bind(this)}}/></td>
</tr>
)
});
return (
<div className="row">
<table className="table text-center" >
<thead>
<th width="400">Deliverables</th>
<th>Justifications</th>
<th>Weightage</th>
<th className="lastHead">Employee <br />Weightage</th>
</thead>
<tbody>
{questions}
</tbody>
</table>
</div>
)
})
}
</form>
</div>
</div>
);
}
}
関数を呼び出し中。解決するのを手伝ってください。あなたはmap
でcallback
方法を使用しているので、あなたはfunction
で.bind(this)
を使用してもcontext
を維持するために持っている、またはあなたがarrow functions
を使用することができ、それはあなたのためにこの仕事をする
なぜhandleChangeがコンストラクタ内にありますか? –
申し訳ありません私は今変更されました。 –