我正在嘗試使用道具創建地圖,但它顯示此錯誤:
型別錯誤:data.map 不是函式
這是主頁的代碼:
const Portfolio = () => {
const [portfolio_assets, setPortfolioAssets] = useState([]);
const auth = useContext(AuthContext);
const onFetchPortfolioAssets = useCallback(async () => {
const json = await fetchPortfolioAssets(auth.token);
if (json) {
setPortfolioAssets(json);
}
}, [auth.token]);
useEffect(() => {
onFetchPortfolioAssets();
}, [onFetchPortfolioAssets]);
return (
<MainLayout>
<Dashboard data={portfolio_assets} />
</MainLayout>
)
};
export default Portfolio;
這是帶有儀表板的頁面:
const Dashboard = (data=[]) => {
console.log(data)
return (
<Row>
<table className='table table-striped'>
<tr>
<th>Category</th>
</tr>
{data.map((portfolio_asset) => (
<tr key={portfolio_asset.id} lg={12}>
<td>{portfolio_asset.category}</td>
</tr>
))}
</table>
</Row>
)
};
export default Dashboard;
這是console.log,所以物件在那里,但我不明白如何使用.map
{data: Array(0)}data: [][[Prototype]]: Object
{
"data": [
{
"id": 1,
"category": "Category 1",
},
{
"id": 2,
"category": "Category 2",
},
{
"id": 3,
"category": "Category 2",
},
]
}
uj5u.com熱心網友回復:
您在儀表板中獲取資料物件時犯了一個錯誤。您獲得的引數包含所有道具,而不僅僅是資料,因此您必須將其替換為:
const Dashboard = ({data=[]}) => {
用 {} 圍繞資料從 props 物件中獲取資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/426573.html
標籤:javascript 反应
