首页 > 解决方案 > 对象作为 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. 任何帮助深表感谢

标签: javascriptreactjsreact-hooks

解决方案


您通过具有附加value的. 该插值用于Angular (and more)。在React中,基于 JS 的代码只需要一个包装器,这就是您所需要的。({value:'blabla'}){ }{ }{ value }


推荐阅读