javascript - 对象作为 React 子对象无效(找到:带有键 {value} 的对象)。如果您打算渲染一组孩子,请改用数组
问题描述
我收到了这个错误,我不太明白。这是我的代码。
export default function Main() {
const [dates, setDates] = useState([]);
function getData() {
var ref = db.collection("posts");
var q = ref.get().then((ss) => {
ss.forEach((doc) => {
setDates([...dates, doc.data().born]);
});
});
}
return (
<div>
<h1>Working</h1>
<button onClick={getData}>Click me!!!</button>
{dates.map((value, index) => {
return <p key={index}> {{ value }} </p>;
})}
</div>
);
}
我不明白为什么它将值作为对象读取,因为当我添加到数组“日期”时,我添加了一个数字。所以它应该只是一个数字数组。我真的很困惑,我与传播运算符并不是那么相似。例如,如果我要console.log(doc.data().born)
它会给出一个像2001
. 任何帮助深表感谢
解决方案
您通过具有附加value
的. 该插值用于Angular (and more)。在React中,基于 JS 的代码只需要一个包装器,这就是您所需要的。({value:'blabla'})
{ }
{ }
{ value }
推荐阅读
- ruby-on-rails - Docker + Rails + NGINX - “错误” IP 地址
- angular - 单击单元格按钮时如何获取网格的行数据
- ios - SwiftUI Firebase - 读取数组数据以查看字符串是否等于数组字符串
- reactjs - 将三元表达式放入字符串插值时出现语法错误
- function - 如何添加事件监听器以关闭菜单切换
- python - 映射整数在 ElasticSearch 中不起作用
- android - binding.root 表示什么?
- java - 如何在不使用 for 循环的情况下通过字符串列表过滤 java 流
- snowflake-cloud-data-platform - 如何使用单个 sqs 为多个表创建外部管道?
- java - 使用集合过滤数组中的重复元素