javascript - 如何从地图中获取id
问题描述
import React, { Component } from "react";
class MyPics extends Component {
state = {
Show: false
};
handleClick = () => {
this.setState ({ Show: !this.state.Show });
};
render() {
const IMGS1 = [
{_id: 0, src: "../../../IMG/1.jpg", alt: "IMG0"},
{_id: 1, src: "../../../IMG/2.jpg", alt: "IMG1"},
{_id: 2, src: "../../../IMG/3.jpg", alt: "IMG2"}
];
return (
{
IMGS1.map(({ _id, src, alt }) => (
<img key={_id} src={src} alt={alt} style={IMGStyle} onClick={(this.handleClick = _id => console.log(_id))} />
))
}
);
}
}
export default MyPics;
解决方案
将您的类方法修改handleClick
为柯里化函数,以避免在 JSX 中立即调用该函数并导致应用程序崩溃:
handleClick = () => (id) => {
// id is accesible
};
onClick={this.handleClick(_id)}
推荐阅读
- logic - 从相同的球中找出有缺陷的球
- windows - 更改网络属性后连接 Windows RDP 时出错
- php - 使用正则表达式解析字符串并获得所需的输出
- authentication - 使用 MSAL 访问 Azure AD 并取回身份验证 ID 令牌的版本问题
- css - 背景附件:在 Firefox 或 Edge 与 Chrome 中修复
- windows - Powershell 连接到远程 linux ssh 服务器并执行命令行
- graph - Google 表格 - 合并堆叠的列
- json - json: 无法将数字解组为 map[string]interface {} 类型的 Go 值
- c# - 从选择中修剪数据表条目
- android - 升级到 Cordova Android 8.0 后 Gradle 无法同步