Reactjs 无法读取属性';数据';子元素中带有复选框的未定义的
我从列表中生成子元素,因此每个子元素都有相同的复选框。 然后我想创建一个函数来检查我的复选框的状态(handleChecked) 但是我得到了这个错误 无法读取未定义的属性“数据”Reactjs 无法读取属性';数据';子元素中带有复选框的未定义的,reactjs,checkbox,parent-child,Reactjs,Checkbox,Parent Child,我从列表中生成子元素,因此每个子元素都有相同的复选框。 然后我想创建一个函数来检查我的复选框的状态(handleChecked) 但是我得到了这个错误 无法读取未定义的属性“数据” 下面是我的一个例子:您可以做以下更改。您将在切换状态时打印日志。您可以将函数存储为常量,然后调用它,正如我在下面演示的那样 import React, { Component } from "react"; import "./styles.css"; class Profi
下面是我的一个例子:您可以做以下更改。您将在切换状态时打印日志。您可以将函数存储为常量,然后调用它,正如我在下面演示的那样
import React, { Component } from "react";
import "./styles.css";
class Profils extends Component {
constructor(props) {
super(props);
this.state = {
data: [
{
name: "Perceval"
},
{
name: "Merlin"
},
{
name: "General Kenobi"
}
]
};
this.handleChecked = this.handleChecked.bind(this);
}
handleChecked(event) {
if (event.target.checked === true) {
console.log(event.target.id, " is checked");
} else if (event.target.checked === false) {
console.log(event.target.id, " is unchecked");
} else {
console.log("test fail");
}
}
render() {
let ch = this.handleChecked;
return (
<div className="Profil">
{this.state.data.map(function(panel) {
return (
<div key={panel.name}>
<h1> Hello my name is {panel.name}</h1>
<input
className="tgl tgl-skewed"
id={panel.name}
type="checkbox"
onChange={(e)=>ch(e)}
/>
<label
className="tgl-btn"
data-tg-off="Test is OFF"
data-tg-on="Test is ON"
htmlFor={panel.name}
/>
</div>
);
})}
</div>
);
}
}
export default Profils;
import React,{Component}来自“React”;
导入“/styles.css”;
类Profils扩展组件{
建造师(道具){
超级(道具);
此.state={
数据:[
{
名称:“Perceval”
},
{
姓名:“梅林”
},
{
姓名:“克诺比将军”
}
]
};
this.handleChecked=this.handleChecked.bind(this);
}
手动检查(事件){
if(event.target.checked==true){
日志(event.target.id,“已选中”);
}else if(event.target.checked==false){
log(event.target.id,“未选中”);
}否则{
控制台日志(“测试失败”);
}
}
render(){
设ch=this.handleChecked;
返回(
{this.state.data.map(函数(面板){
返回(
你好,我的名字是{panel.name}
ch(e)}
/>
);
})}
);
}
}
导出默认配置文件;
我假设这个示例不是您的代码,因为它似乎工作正常
从错误中,我假设您以错误的方式访问您的状态。您得到的状态为未定义。你能分享你从州里访问数据的代码吗?我不知道这是可能的>onChange={(e)=>ch(e)}非常感谢Raghvender。你帮了我很大的忙,听说你帮了我很大的忙。谢谢:)