TypeError:尝试在 React 中动态生成表时无法将 undefined 或 null 转换为对象
Posted
技术标签:
【中文标题】TypeError:尝试在 React 中动态生成表时无法将 undefined 或 null 转换为对象【英文标题】:TypeError: Cannot convert undefined or null to object when trying to generate a table dynamically in React 【发布时间】:2022-01-12 15:53:36 【问题描述】:我正在尝试根据获取的数据动态呈现表格。这部分有效,但是当我实现数据的过滤版本时,我在 let headings = Object.key(data[1])
行上得到 TypeError Undefined 或 Null to object 错误。
import React from "react";
import tableData from "./tableData1.js";
const TableComponent = ( data ) =>
**let headings = Object.keys(data[1]);** //This is where I get the Error
return (
<table className="table table-dark table-striped">
<thead>
<tr>
<th colspan="16">Dimensions in mm</th>
</tr>
<tr scope="col">
<th>Series</th>
headings.map((heading) => (
<th>heading</th>
))
</tr>
</thead>
<tbody>
data.map((item) => (
<tr scope="col">
<th scope="row">Series No.</th>
headings.map((heading) => (
<td>item[heading]</td>
))
</tr>
))
</tbody>
</table>
);
;
const TableGenerator = () =>
const filteredData = tableData.filter(item => item.id == 1).map(item => item.value);
return <TableComponent data=filteredData />;
;
export default TableGenerator;
这是供参考的数据(目前只是一些模拟数据):
const tableData1 = [
id: 1,
value:
A: "Value",
B: "Value",
C: "Value",
D: "Male",
E: "Value",
G: "Value",
H: "Value",
I: "Value",
L: "Value",
M: "Value",
N: "Value",
P: "Value",
Q: "Value",
R: "Value",
S: "Value",
,
id: 2,
value:
A: "Value",
B: "Value",
C: "Value",
D: "Male",
E: "Value",
G: "Value",
H: "Value",
I: "Value",
L: "Value",
M: "Value",
N: "Value",
P: "Value",
Q: "Value",
R: "Value",
S: "Value",
,
id: 3,
value:
A: "Value",
B: "Value",
C: "Value",
D: "Male",
E: "Value",
G: "Value",
H: "Value",
I: "Value",
L: "Value",
M: "Value",
N: "Value",
P: "Value",
Q: "Value",
R: "Value",
S: "Value",
,
];
export default tableData1;
在我添加 const filteredData
部分之前它正在工作,我将 tableData 直接传递给 TableComponent
,我不知道为什么。有人可以帮我解决这个问题吗?
【问题讨论】:
您的过滤器正在返回一个包含单个元素的数组 - 但您正尝试使用Object.keys(data[1])
访问第二个元素
这能回答你的问题吗? I am getting an error Typerror Cannot read property 'execute' of undefined 或 this 或 this other
@Elikill58 - 这不是这个问题的重复。
@RandyCasburn 愚蠢的错误,你是对的,这就是问题所在。感谢您指出这一点,除此之外,我一直在兜圈子。
【参考方案1】:
您收到此错误是因为data[1];
返回未定义,因此Object.keys()
无法使用。
这可能意味着您的过滤数据被错误过滤或您在错误的索引处访问它。
【讨论】:
以上是关于TypeError:尝试在 React 中动态生成表时无法将 undefined 或 null 转换为对象的主要内容,如果未能解决你的问题,请参考以下文章
React + Fetch + Json。 TypeError:无法读取未定义的属性
在 React Native 中使用 useContext 的上下文 API 显示 TypeError
TypeError: data.Order.map 不是函数( react 和 graphql )
React - TypeError:jokes.map 不是函数
React axios api调用错误:未捕获(在承诺中)TypeError:setTempFetch不是函数
尝试使用函数结果时出错,typeError: Cannot read property 'map' of undefined in React