Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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 TypeError:无法读取属性';地图';数组中未定义状态对象的类型?_Javascript_Arrays_Json_Reactjs_Undefined - Fatal编程技术网

Javascript TypeError:无法读取属性';地图';数组中未定义状态对象的类型?

Javascript TypeError:无法读取属性';地图';数组中未定义状态对象的类型?,javascript,arrays,json,reactjs,undefined,Javascript,Arrays,Json,Reactjs,Undefined,数组顺序中的状态对象\u转换映射错误 this.state = { order: { "id": 2, "order_trans": [ { "id": 2, "order_payment_id": "61023184-4ee7-4b8d-80c7-b593b994607f&quo

数组顺序中的状态对象\u转换映射错误

this.state = {
    order: {
        "id": 2,
        "order_trans": [
            {
                "id": 2,
                "order_payment_id": "61023184-4ee7-4b8d-80c7-b593b994607f",
                "order_amount": 11628.0,
                "signature": "TSbSYzqNcT3PD7sgu4KGpuTsgIPzumTeg753iswBGsw=",
                "created_at": "2020-10-29T16:13:22.158603Z",
                "updated_at": "2020-10-29T16:13:22.158630Z",
                "buyer": 20,
                "order": 2
            }
        ],
        "order_token": "61023184-4ee7-4b8d-80c7-b593b994607f",
        "grand_total": 11628.0,
        "name": "Achu",
        "land_mark": "",
        "created_at": "2020-10-29T16:12:31.291014Z",
        "updated_at": "2020-10-29T16:12:31.291035Z",
        "buyer": 20
    }
    }
当在状态对象数组中循环时

{this.state.order.order_trans.map((p) => (
                    <p>{p.id}</p>
                ))}
{this.state.order.order_trans.map((p)=>(
{p.id}

))}

我得到错误类型错误:无法读取未定义的属性“map”

我认为您正在渲染后更新状态。在这种情况下,只需确保状态中存在
order\u trans
值。您可以执行以下操作:

{this.state.order && this.state.order.order_trans && this.state.order.order_trans.map((p) => (
                <p>{p.id}</p>
            ))}
{this.state.order&&this.state.order.order\u trans&&this.state.order.order\u trans.map((p)=>(
{p.id}

))}
或者您可以使用新的可选链接操作符

{ this.state.order?.order_trans.map((p) => (
                <p>{p.id}</p>
            ))}
{this.state.order?.order\u trans.map((p)=>(
{p.id}

))}
看起来正确。您能提供更多信息吗?请尝试
this.state.order?.order\u trans?.map