在反應(yīng)JS中異步呈現(xiàn)內(nèi)容
基本上,我有一組動態(tài)表,這些表是根據(jù)傳遞的值顯示的。如果傳遞了一個空數(shù)組,它應(yīng)顯示“未找到數(shù)據(jù)”。在我的情況下,當(dāng)我向表發(fā)送數(shù)據(jù)時,所有表將首先顯示“未找到數(shù)據(jù)”,然后是實際的表內(nèi)容。我不確定是什么原因造成的。數(shù)據(jù)是異步加載的,它顯示沒有找到的數(shù)據(jù),然后顯示實際內(nèi)容。我添加了 setInterval 來展示這種異步特性沙盒:https://codesandbox.io/s/react-table-row-table-ryiny?file=/src/index.js:0-1322有人可以幫助我嗎?父母import * as React from "react";import { render } from "react-dom";import DataGrid from "./DataGrid";const d1 = [{ name: "test", age: "20" }, { name: "test1", age: "15" }];const d2 = [{ area: "area", pin: "123" }, { area: "area1", pin: "1245" }];const c1 = [ { Header: "Name", accessor: "name" }, { Header: "Age", accessor: "age" }];const c2 = [ { Header: "Area", accessor: "area" }, { Header: "Pin", accessor: "pin" }];const d3 = [];const c3 = [];class App extends React.Component { constructor(props) { super(props); this.state = { data1: [], column1: [], data2: [], column2: [], data3: [], column3: [] }; } componentDidMount() { setTimeout(() => { this.setState({ data1: d1, column1: c1 }); }, 2000); setTimeout(() => { this.setState({ data2: d2, column2: c2 }); }, 2500); this.setState({ data3: d3, column3: c3 }); } render() { return ( <> <DataGrid data={this.state.data1} columns={this.state.column1} /> <DataGrid data={this.state.data2} columns={this.state.column2} /> <DataGrid data={this.state.data3} columns={this.state.column3} /> </> ); }}孩子import * as React from "react";import ReactTable from "react-table";import "react-table/react-table.css";export default class DataGrid extends React.Component { constructor(props) { super(props); this.state = { showMore: false }; } toggleState = () => { this.setState(prevState => ({ showMore: !prevState.showMore })); };
查看完整描述