首页 > 解决方案 > 如何在反应返回()中访问对象

问题描述

我有一个来自 websocket 的对象,我已将其设置为 const newObj。

 const newObj = JSON.parse(e.data);
      

我不想使用 JSON.stringify 然后将对象传递给 return() 并打印它,因为我无法访问对象的值。然后我想将该对象用作道具,以便可以在多个组件中使用它。

我试图找到解决方案,但似乎没有任何问题可以回答我的问题。

我想知道如何处理对象并将其传递给返回函数,以便我可以通过这种方式输出对象:

return (
    <div className="App">
      <Navbar />
      <pre>{ object }</pre>
      <DataTable object = { object } />
    </div>
  );
}

我得到的错误是“对象不是 React Child”。

谁能帮我解决这个问题。

标签: reactjs

解决方案


问题是你不能渲染像<pre> {object} </pre>. 您必须映射其键/值/条目:

return (
    <div className="App">
      <Navbar />
      {Object.keys(object).map((objKey, index) => (
          <div key={index}>
            <p> {objKey} : {object[objKey]}
          </div>
      ))}
      <DataTable object = { object } />
    </div>
  );

这样,您可以访问对象的值和键,并将任何值传递给任何组件。


推荐阅读