我有一个React组件,它正在输出复选框列表。我试图为每个复选框设置一个带有从handleChange函数提取的ID的引用。我想使用由networkService成功收集的id变量来命名ref“ id-checkbox”:
networkService = ({id, label, service_state, active_path = [], z_end = []} = {}) => (
<tr>
<td>
<form>
<input type="checkbox" ref="REF HERE WITH id-checkbox" onChange={() => this.handleChange(`${id}`)} />
</form>
</td>
</tr>
)
我在ref = ${id} - checkbox
中尝试了${id} - checkbox
的多次迭代,但是遇到了错误。
此外,在另一个函数中,我需要通过ref检查该复选框的状态,语法再次超出了我的范围。这是函数:
handleChange = (id) => {
if (this.refs.CHECKBOX REF HERE.checked) {
该ID已成功从上面显示的onChange调用中获取。
任何帮助将不胜感激。
答案 0 :(得分:0)
networkService = ({id, label, service_state, active_path = [], z_end = []} = {}) => (
<tr>
<td>
<form>
<input type="checkbox" ref={id+"-checkbox"} onChange={() => this.handleChange(id)} />
</form>
</td>
</tr>
handleChange = id => {
let refName=id+"-checkbox"
if (this.refs[refName].checked) {