Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法通过映射对象来呈现组件_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 无法通过映射对象来呈现组件

Javascript 无法通过映射对象来呈现组件,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在使用以太坊blochchain和ReactJS开发一个Web应用程序。在一个页面中,在componentDidMount()内,我从区块链收集数据,并将其添加到名为requests的数组中 typeof(requests) : object console.log(requests) :(2) [Result, Result] 0: Result 0: "Title" 1: "100000000000000" 2: "

我正在使用以太坊blochchain和ReactJS开发一个Web应用程序。在一个页面中,在componentDidMount()内,我从区块链收集数据,并将其添加到名为requests的数组中

typeof(requests) : object


console.log(requests) :(2) [Result, Result] 
0: Result
   0: "Title"
   1: "100000000000000"
   2: "0xbA439F3C91bF0732e5546721A09be207f69555ca"
   3: false
   4: "0"
   approvalCount: "0"
   complete: false
   description: "Title"
   recipient: "0xbA439F3C91bF0732e5546721A09be207f69555ca"
   value: "100000000000000"
   __proto__: Object
1: Result
   0: "New Request"
   1: "4000000000000000000"
   2: "0x8104Ce1f3d731A5C39501fddDdc14E2673555555"
   3: false
   4: "0"
   approvalCount: "0"
   complete: false
   description: "New Request"
   recipient: "0x8104Ce1f3d731A5C39501fddDdc14E2673555555"
   value: "4000000000000000000"
   __proto__: Object
length: 2
__proto__: Array(0)
我尝试使用以下代码基于请求的元素呈现组件:

     <body>
              {this.state.requests.map((request, index) => {
            return (
              <RequestRow
                key={index}
                id={index}
                address={this.state.address}
                request={request}
                approversCount={this.state.approversCount}
              />
            );
          })}
            </body>
如何解决这个问题

RequestRow未完成

它实现为

import React from "react";

const requestRow = (props) => <div>{props}</div>;

export default requestRow;
从“React”导入React;
const requestRow=(props)=>{props};
导出默认请求行;

您不需要为空数组条件编写代码。你只需要写

  <body> {
    this.state.requests.map((request, index) => {
        return ( <RequestRow key = {
                index
            }
            id = {
                index
            }
            address = {
                this.state.address
            }
            request = {
                request
            }
            approversCount = {
                this.state.approversCount
            }
            />
        );
    });
}</body>
{
this.state.requests.map((请求,索引)=>{
报税表(
);
});
}

谢谢大家的评论和重播。感谢并指出了错误。错误是由于RequestRow组件的实现而不是呈现它的方式造成的。

代码工作了吗?仍然是上面给出的相同错误。您可以提供从“React”导入React的实现吗;const requestRow=(props)=>{props};导出默认请求行;组件仍在开发中。在代码的某个地方,您正在尝试呈现一个对象。例如:
constobj={a:1,b:2}
,然后类似于
{obj}
。这就是为什么会出现错误——“对象作为React子对象无效”。这看起来很好,您可以发布包括回溯在内的完整错误吗?
RequestRow
render的返回值是多少?除了JSX、
null
或数组之外,您是否会在对象中的requestRow中返回任何东西?
props
,因此首先需要从中提取值,然后才能使用这些值。尝试
constrequestrow=({key,id,address})=>{key}{id}{address}
  <body> {
    this.state.requests.map((request, index) => {
        return ( <RequestRow key = {
                index
            }
            id = {
                index
            }
            address = {
                this.state.address
            }
            request = {
                request
            }
            approversCount = {
                this.state.approversCount
            }
            />
        );
    });
}</body>