我正在映射来自api响应的数据,并从中渲染出多个div。除此之外,我还要从响应中为每个div的id属性分配一个唯一的id,如下所示:
...lists.map(list => {
return (
<div className='one' key={list.id} id={list.id} onClick={this.handleClick}>
<div className='two'>
<p>Hello World</p>
<span>Foo Bar</span>
</div>
</div>
)
})
handleClick = (e) => {
console.log(e.target.id)
// other stuff
}
问题:
只要className='one'
单击外部div(),控制台就会记录未定义的日志。但是,如果我将id值分配给内部div(className='two'
),则
只有在内部div的尺寸范围内单击时 ,它才会记录id的值。<span>
和<p>
标签也是如此。
基本上,onClick在单击不同的html元素时返回一个不同的目标。
预期结果:
单击父div或该div内的任何位置,都应始终返回父div的id属性的值。
问题是当您onClick
在topMost
父项上定义时,您需要使用e.currentTarget.id
而不是,e.target.id
因为e.target
它将为您提供您单击的元素,而不是onClick
定义了侦听器的父项
class App extends React.Component {
state = {
lists: [{id: 1}, {id: 2}, {id:3}]
}
render() {
return (
<div>
{this.state.lists.map(list => {
console.log(list.id)
return (
<div className='one' key={list.id} id={list.id} onClick={this.handleClick}>
<div className='two'>
<p>Hello World</p>
<span>Foo Bar</span>
</div>
</div>
)
})
}
</div>
)
}
handleClick = (e) => {
console.log(e.currentTarget.id)
// other stuff
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script>
<div id="app"></div>
问题内容: 我正在尝试为网站添加 自定义表情的用户脚本 。但是,我遇到了很多错误。 这是函数: 该标签的调用该函数: 每次单击具有属性的按钮时,都会出现此错误: 未捕获ReferenceError:函数未定义。 任何帮助,将不胜感激。 谢谢! 我尝试使用: 但是我有一个错误。 这是脚本。 我试图这样做来测试听众是否正常工作,但他们不适合我: 问题答案: 切勿使用或用户脚本中的类似属性!在常规网页中
我正在尝试为一个网站做一个用户脚本来添加自定义的表情。然而,我已经得到了很多错误。 函数如下: 标记的调用此函数: 每次单击具有属性的按钮时,都会出现以下错误: 未捕获得ReferenceError:未定义函数. 我尝试使用: 但我得到一个错误。 这是剧本。 我试着这样做来测试监听器是否对我有效,而它们对我无效:
我试图显示在react for Elasticsearch中运行查询得到的结果,但我无法做到这一点。它给出了错误,但当我在一个变量中运行相同的查询时,它返回currect结果。有人能告诉我如何在“results”数组中存储结果以及如何在网页中显示结果吗?在以下方面获取错误:
我相信我将正确的索引值从传递到,再传递到。但是,在我的文件中抛出一个错误,该错误声明: 在开始将函数传递给组件之前,我的代码运行良好。 dashboard.js Bldgs.JS
使用“react-router-dom”:“^4.1.2”,“react-router-redux”:“^5.0.0-alpha.6”,在重定向完成后,我在console.log()中得到标题“uncatted typeerror:不能读取未定义的reacted Router redux的属性”type“。截图显示,包含有效载荷数据的可观察动作没有问题。有效负载包含表单数据(值)和历史对象。我设法
问题内容: 我收到以下错误 未捕获的TypeError:无法读取未定义的属性’setState’ 即使在构造函数中绑定了delta之后。 问题答案: 这是由于不受约束。 为了绑定设置在构造函数中: 当前,您正在调用绑定。但是bind返回一个绑定函数。您需要将函数设置为其绑定值。