我有以下從容器組件中調用的組件。容器組件通過交易道具。我知道prop中的data屬性可以很好地傳遞并且具有數據,可以從console.log調用中進行訪問。但是,當我嘗試映射數據并創建列表時,出現錯誤:Cannot read property 'map' of undefined數據如下所示:[{"transid":3426,"acct":"acct1","category":"Auto"}, {"transid":3427,"acct":"acct2","category":"Subscriptions"}]我究竟做錯了什么?import React from 'react';export default function TransactionManagerView (props) { console.log(props.data); return ( <ul> { props.data.map(function(el,index) { return <li key={index}>{el.category}</li> }) } </ul> )}
2 回答

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
這是因為組件的呈現發生在組件接收數組之前。作為選項,您可以設置道具的默認值
import React from 'react';
export default function TransactionManagerView ({data = [], ...props}) {
console.log(props.data);
return (
<ul>
{
data.map(function(el,index) {
return <li key={index}>{el.category}</li>
})
}
</ul>
)
}
添加回答
舉報
0/150
提交
取消