TypeError: Cannot read property 'map' of undefined react ant design table

TypeError: Cannot read property 'map' of undefined react ant design table

朋友们我很难找到解决这个问题的方法。我总是得到一个错误

无法读取未定义的 React Ant 设计 table 属性 'map'。即使当我尝试 console.log 我返回的对象时,也有一个数据不为空。但我收到一个错误。我猜这个错误导致我的道具是空的。

父容器从api获取数据:

<TabPane style={{ marginTop: 20 }} tab="My Settlements" key="1" >
  <MySettlements settlementprops={this.state.settlements} />
</TabPane>

组件处理来自 api

的对象
render() {
    const settlementprops = this.props.settlementprops;

    const tableData = settlementprops.map((obj) => ({
        campaign_name: obj.campaign_name
    }))

    const columns = [{
        title: 'Campaign Name',
        dataIndex: 'campaign_name',
        key: 'campaign_name',
      }
    ];

    var tableViewDom = [];
    tableViewDom.push(
            <Table
                className='my_campaigns_table'
                columns={columns} dataSource={tableData}
            > 
            </Table>
     )

改变

const settlementprops = this.props.settlementprops;

const settlementprops = this.props.settlementprops || []

您可能在 componentDidMount 中从 API 加载数据,它在第一次渲染后触发。无论你的变量是什么,只要像这样短路它:

this.state.myArray && this.state.myArray.map(...)

这样,如果 this.state.myArray 没有值,它就不会尝试映射它,这将解决您的问题。