javascript - 获取 React 中被点击元素的值
问题描述
如何获取被点击元素的值?event.target.value
显示undefined
。
import React from "react";
class Home extends React.Component{
constructor(){
super()
this.state = {
products: [],
isLoaded: false,
value: ""
}
this.handleClick = this.handleClick.bind(this);
}
componentDidMount(){
fetch("/home")
.then(res => res.json())
.then(result =>{
return(
this.setState({
products: result,
isLoaded: true
})
)
})
}
handleClick(event){
console.log(event.target) //shows full element
console.log(event.target.value) //shows undefined
}
render(){
if(!this.state.isLoaded){
return(
<h1>Loading...</h1>
)
}
return <div>{this.state.products.map(elements =>
<div
key={elements.id}
onClick={this.handleClick}
value={elements.name}
>
{elements.name}
</div>
)}
<h1>Name: {this.state.value}</h1>
</div>;
}
}
export default Home;
解决方案
一个div
组件没有任何value
属性,你应该做这样的事情来实现你所需要的:
<div
key={elements.id}
onClick={() => this.handleClick(element.name)}
>
{elements.name}
</div>
推荐阅读
- javascript - 是否有支持 css 3d 的 PhantomJs 替代方案
- apache-spark - spark.table 因 java.io.Exception 失败:Scheme 没有文件系统:abfs
- matlab - 如何制作一个给出几何分布概率的函数?
- rxjs - 在 BehaviorSubject 管道中使用 shareReplay(1) 的任何理由?
- python - 在python中自动计算旋转周期
- c# - 在 Castle Windsor 中使用元数据注册组件
- node.js - 点击事件触发时什么都不做
- python - 即使元素在集合中,删除集合中的元素时也会出现 KeyError?
- javascript - 读取对象数组中的对象数组
- google-maps - Google Directions API - “无效请求。缺少 'departure_time' 参数。”,