我是StackOverflow的新手,还不太熟悉提问等操作,请多包涵。如果我遗漏了任何有用的信息,请告诉我。我正在为我未婚妻制作一个用于工作的生产力Web应用,这是应用中的一个笔记功能模块。目前,程序正从我制作的API获取数据,并将数据存储在状态变量中。然后,在组件中使用JSX表达式来遍历从服务器获取的笔记列表。大致设置如下:
const Notes = () => {
const [notesList, setNotesList] = useState([]);
useEffect(() => {
// loadNotes 通过fetch GET请求从服务器获取数据,以下是API返回的数据结构:
// { notes: [{ title: "标题", content: "这是笔记的内容。", lastModified: "" }, { title: "标题2", content: "这是第二条笔记的内容。", lastModified: "" }] }
loadNotes().then((data) => setNotesList(data.notes));
}, []);
return (
<div className="notes-list">
{notesList.map((item) => (
<NoteTab title={item.title} content={item.content} lastModified={item.lastModified} />
))}
</div>
);
};
每次运行程序时,我都会收到以下错误:对象不能作为React子元素(发现具有{title, content, lastModified}键的对象)。如果您打算渲染一组子元素,请改用数组。
我已经尝试了很多不同的方法,比如在JSX中的notesList上使用扩展运算符,尝试在useEffect函数内部进行映射操作,移除映射表达式中的return语句等许多其他尝试。如果能提供任何建议将非常棒,因为我已经被这个问题困扰了两天了。谢谢!