Javascript 我使用'e.currentTarget.dataset.id'获取单击的li的inex,但给出了'undefined'`
在下面的代码中,我使用Javascript 我使用'e.currentTarget.dataset.id'获取单击的li的inex,但给出了'undefined'`,javascript,html,reactjs,ecmascript-6,Javascript,Html,Reactjs,Ecmascript 6,在下面的代码中,我使用e.currentTarget.dataset.id获取单击的li的索引,但它返回未定义的,问题是什么?如何使用e获取索引 class Answers extends React.Component { constructor(props) { super(props); } handleCheck(e) { console.log(e.currentTarget.dataset.id); } render() { return
e.currentTarget.dataset.id
获取单击的li的索引,但它返回未定义的
,问题是什么?如何使用e
获取索引
class Answers extends React.Component {
constructor(props) {
super(props);
}
handleCheck(e) {
console.log(e.currentTarget.dataset.id);
}
render() {
return (
<div>
<ul>
<li onClick={this.handleCheck.bind(this)} data-id="1"><span>A</span> <p>{this.props.answers[0]}</p></li>
<li onClick={this.handleCheck.bind(this)} data-id="2"><span>B</span> <p>{this.props.answers[1]}</p></li>
<li onClick={this.handleCheck.bind(this)} data-id="3"><span>C</span> <p>{this.props.answers[2]}</p></li>
<li onClick={this.handleCheck.bind(this)} data-id="4"><span>D</span> <p>{this.props.answers[3]}</p></li>
{this.props.answers[3]}</p></li>
</ul >
</div >
);
}
}
类答案扩展了React.Component{
建造师(道具){
超级(道具);
}
手检(e){
console.log(e.currentTarget.dataset.id);
}
render(){
返回(
- A{this.props.answers[0]}
- B{this.props.answers[1]}
- C{this.props.answers[2]}
- D{this.props.answers[3]}
{this.props.answers[3]}
);
}
}
dataset
给定DOM元素中的data xx
属性。所以test
将dataset.id
计算为1。呈现dom元素时需要传递数据属性,然后才能读取它们
类答案扩展了React.Component{
建造师(道具){
超级(道具);
}
手检(e){
console.log(e.currentTarget.dataset.id);
}
render(){
const{answers}=this.props;
返回(
{answers.map((answer,i)=>
-
{String.fromCharCode(65+i)}{answer}
)}
);
}
}
const answers=['1','2','3'];
ReactDOM.render(,document.getElementById('root'))代码>
我在任何地方都看不到身份证?@JonasW。抱歉,我的错误,编辑了帖子。我看到的唯一区别是数据id值现在没有硬编码,但这如何解决问题?