【发布时间】:2021-11-28 15:12:33
【问题描述】:
谁能看到我在哪里搞砸了这个提取? 错误信息; TypeError: Cannot read properties of undefined (reading 'map')
This is how the data looks like
很高兴得到任何帮助!
import React, { useState, useEffect } from 'react';
import styled from 'styled-components';
export const PressReleaseList = () => {
const [pressReleases, setPressReleases] = useState([null]);
useEffect(() => {
(async function () {
try {
const res = await fetch(
'https://feed.mfn.se/v1/feed/3XXXXX.json'
);
const json = await res.json();
setPressReleases(json.items);
} catch (e) {
console.error(e);
}
})();
}, []);
return (
<Main>
{pressReleases.items.map((item) => (
<TextCell key={item.news_id}>
<CategoryText>{item.title}</CategoryText>
</TextCell>
))}
;
</Main>
);
【问题讨论】:
-
您尝试访问两次
items。尝试仅使用 json 变量设置setPressReleases或将map函数直接应用于pressReleases。 -
成功了!谢谢!尽管如此,浏览器中仍然没有打印任何内容。说;错误:对象作为 React 子对象无效(发现:对象带有键 {entity_id, slug, slugs, name, brand_image_url, isins, leis, local_refs, tickers})。如果您打算渲染一组子项,请改用数组。有什么建议? {pressReleases.map((item) => (
))} ;{item.subjects} -
这个错误可能是因为你试图在 JSX 元素中渲染
item.subjects。我认为subjects必须是一个列表,因此它是一个对象,您只能呈现原语,例如字符串或数字。我正在发布这条评论和上一条作为答案,如果我是对的,请将其标记为解决方案。 -
是的!这就是问题所在!谢谢!!
-
你标记另一个。这是我的answer。