Javascript React setState()不适用于无线电场handleInput方法
我正在使用React应用程序中的一个广播提交方法Javascript React setState()不适用于无线电场handleInput方法,javascript,reactjs,forms,radio-button,react-state-management,Javascript,Reactjs,Forms,Radio Button,React State Management,我正在使用React应用程序中的一个广播提交方法 handleSelect = e => { const key = e.target.name; const value = e.target.id; this.setState({ [key]: value}); console.log(this.state); } 以下是有关的无线电领域: <div className="answer"> &l
handleSelect = e => {
const key = e.target.name;
const value = e.target.id;
this.setState({ [key]: value});
console.log(this.state);
}
以下是有关的无线电领域:
<div className="answer">
<Input type="radio"
id="day2AnswerA"
name="day2CorrectAnswer"
value={this.state.day2CorrectAnswer}
onChange={this.handleSelect}
/>
这将是具有多个无线电字段的更大表单的一部分,所有字段都具有相同的名称
属性,因此一次只能选择一个字段
我试图在用户选择一个无线字段后立即更新状态,例如,如果用户单击上面显示的无线字段,则我希望状态的day2CorrectAnswer
属性立即更新为day2AnswerA
为什么这不起作用?我认为你应该更新检查输入的道具。无线电输入使用“已检查”属性显示或不显示已检查状态 我认为你应该更新检查输入的道具。无线电输入使用“已检查”属性显示或不显示已检查状态 查看您的输入,我可以看到一个循环状态问题-每个无线电输入的值不能只是状态值,它必须有一个实际值-可能是一个字符串值,如value=“the Big Blue Bear”为了确保输入得到控制,您要做的是检查状态,评估day2CorrectAnswer的状态值是否等于此输入的值。查看您的输入,我可以看到一个循环状态问题-每个无线电输入的值不能只是状态值,而必须具有实际值-可能是value=“The Big Blue Bear”之类的字符串值,要确保输入受控,您要做的是,如果day2CorrectAnswer的状态值等于此输入的值,则对其进行检查状态求值
state = {
rocketName: '',
className:'',
day2QuestionName: '',
day2ReviewText: '',
day2QuestionText: '',
day2AnswerA: '',
day2AnswerB: '',
day2AnswerC: '',
day2AnswerD: '',
day2CorrectAnswer: '',
}