提问人:Tims 提问时间:9/2/2023 最后编辑:Tims 更新时间:9/2/2023 访问量:29
映射到 div 网格
Map to a div grid
问:
我正在尝试调整以下内容,以便 4x4 网格显示数字 1 到 n。每个 div 单元格都需要一个 onclick 处理程序。
我尝试修改在 React 中使用彩色图块渲染图表的最后一个响应
function App() {
return (
<div style={{
background: "",
height: "400px",
width: "400px",
display: "flex",
flexWrap: "wrap"
}}>
{new Array(16).fill(1).map(n =>{ return <div style={{
height: "96px",
width: "96px",
backgroundColor: "transparent",
border: "solid 2px white"
}}>{n}</div>})}
</div>
);
}
export default App;
如何获得每个单元格上的数字 1...16?我在上面的 div 中尝试了 {n} - 没有帮助。如何在每个div上添加点击事件处理程序并获取其中的数字?
答:
1赞
deepanshu223
9/2/2023
#1
基于问题。只需进行一些调整即可获得解决方案。
如果您按以下方式进行更改,您将找到解决方案。在代码中添加了注释以突出显示更改的部分。
function App() {
return (
<div style={{
background: "",
height: "400px",
width: "400px",
display: "flex",
flexWrap: "wrap"
}}>
// Additional map to convert Array fill to the index values instead
{new Array(16).fill().map((_, i) => i+1).map(n =>{ return <div style={{
height: "96px",
width: "96px",
backgroundColor: "transparent",
cursor: "pointer", // Showing mouse correctly for click action
border: "solid 2px white",
}} onClick={() => console.log(n)}>{n}</div>})} // Added a simple onClick function
</div>
);
}
export default App;
这只是一个粗略的代码,我相信这段代码将成为更大的 react 应用程序的一部分,并且应该使用组件来更好地组织事物。
评论
0赞
Tims
9/2/2023
点对点!谢谢你@deepanshu223
下一个:将闭包放入字典
评论