Reactjs React Table子组件返回另一个表

Reactjs React Table子组件返回另一个表,reactjs,asynchronous,async-await,react-table,Reactjs,Asynchronous,Async Await,React Table,我有下面的React表,主表中有数据,如果单击任何箭头,我会在该行下显示另一个表。问题是基于您单击的行,我需要发出API请求,获取数据,然后显示。问题是在中返回this.getDetail不会对子组件进行可视更改console.log(result)打印出从API获取的正确数组。我已经在async await中设置了this.getDetail,我正在努力实现获取数据的承诺。如何修复它以显示我获取的数据?下面的子组件只返回1 <ReactTable data={dataArray}

我有下面的React表,主表中有数据,如果单击任何箭头,我会在该行下显示另一个表。问题是基于您单击的行,我需要发出API请求,获取数据,然后显示。问题是在
中返回this.getDetail
不会对子组件进行可视更改
console.log(result)
打印出从API获取的正确数组。我已经在async await中设置了
this.getDetail
,我正在努力实现获取数据的承诺。如何修复它以显示我获取的数据?下面的子组件只返回1

<ReactTable
  data={dataArray}
  columns={columns}
  defaultPageSize={5}
  noDataText="No Data"
  SubComponent={row => {
    this.getDetail(
      row.original.cusip,
      row.original.description,
      detailColumns
    ).then(function(result) {
      console.log(result);
      return (
        <ReactTable
          defaultPageSize={5}
          noDataText="No Data"
          columns={detailColumns}
          // data={Array.from(myDetail)}
          //resolveData={data => console.log(data)}
          //style={{ height: "400px" }}
          //showPagination={false}
        />
      );
    });
    return 1;
  }}
/>
{
这是getDetail(
row.original.cusip,
row.original.description,
详细信息列
).然后(函数(结果){
控制台日志(结果);
返回(
console.log(数据)}
//样式={height:“400px”}
//showPagination={false}
/>
);
});
返回1;
}}
/>

您需要将数据置于状态。一旦API请求响应,就将响应设置为状态

所以你的反应表代码如下

<ReactTable
  data={this.state.dataArray}
  ...
  .../>


所以当状态通过
this.setState({dataArray:apiResonse})更新时您的ReactTable将呈现。

谢谢,但这不起作用,原因如下。比如说第一行,我点击了箭头,得到了数据并显示出来。当该行显示子数据时,我单击了第二行,然后当我获取第二行时,第一行数据将为空…您应该保持所有行信息在状态中的完整性,子行数据应该作为新键添加到每行下。因此,在您的情况下,一旦获取第1行的子行,它将存储在状态中,再次在获取第2行的子表数据时,它将作为新键添加到第2行的状态下。这样,您将拥有您单击的所有子表的数据@ExtelliqentIt仍然没有呈现,因为在我设置数据时,它已经通过了react表代码,所以它崩溃了,说提供的数据未定义。React表没有等待查询返回…您是否将响应数据设置为状态。如果状态更新,则ReactTable将使用更新的数据重新呈现。