javascript - 使用 .map() 反应的未定义变量
问题描述
我正在重新访问一个旧的学校课程项目,但我不断收到一个错误,因为未定义的网格变量用于生成我的网格。
我想循环获取我想将属性存储在一个名为网格的数组中的行和列的数量。然后我想用 .map() 显示数组中行和列的节点。
不过,我对做出反应还很陌生,似乎无法找到为什么我不能在 render() 中访问网格数组。
class PathfinderGrid extends Component {
constructor(props) {
super(props)
this.state = {
grid: [],
};
}
componentDidMount() {
const grid = createGrid();
this.setState({ grid });
//console.log(this.state.grid)
}
render() {
return (
<div>
{grid.map((grid) => {
<div>{ grid }</div>
})}
</div >
);
}
}
const createGrid = () => {
let grid = [];
for (let row = 0; row < 15; row++) {
let currentRow = [];
for (let col = 0; col < 50; col++) {
currentRow.push();
}
grid.push(currentRow);
//console.log(grid);
}
return grid;
};
export default PathfinderGrid;
解决方案
由于您使用的是类组件,我相信您需要编写
{this.state.grid.map((grid) => {
return <div>{ grid }</div>
})}
推荐阅读
- javascript - 您如何使用 Neptune 在本地进行测试?
- javascript - Javascript 中数组与对象的实例化。数组什么时候是对象,什么时候得到数组的方法?
- c++ - Mutex 不是 cv 的成员,用 g++ 编译失败
- python - 插入数据库时出现无效语法 ON CONFLICT
- sql - postgresql如何结合这两个查询?
- c# - 为什么我的 .NET 字符串在内存中这么大?
- jquery - 尝试将键传递给自定义函数的参数以显示数据中的所有值
- ffmpeg - 我怎么知道某个文件是视频文件?
- javascript - 如何制作具有 3 种颜色和大量曲线的多渐变背景?
- apache-spark - SparkUI 在独立模式下运行时不显示选项卡(作业、阶段、存储、环境……)