我使用react功能组件。当我运行react时,它输出这个错误"TypeError: Cannot read property 'map' of undefined"
const tabData = [{
key: 0,
label: 'Theory',
color: 'primary',
theory: [{
key: 0,
title: 'Analyze one dimensional and two dime',
content: [
'Kinematics',
'Rectilinear motion under constant acceleration',
'Equations of motion',
],
}]
}];
函数
{tabData.map((data) => {
return (
<TabPanel value={value} index={data.key}>
<ul index={data.key}>
{data.theory.map((tit) => {
return (<li key={tit.key}>{tit.title}</li>);
})}
</ul>
</TabPanel>
);
})}
在这种情况下使用可选链接。它更短,更干净。
{tabData?.map((data) => {
return (
<TabPanel value={value} index={data.key}>
<ul index={data.key}>
{data.theory.map((tit) => {
return (<li key={tit.key}>{tit.title}</li>);
})}
</ul>
</TabPanel>
);
你可以这样写
{tabData && tabData.length > 0 && tabData.map((data) => {
return (
<TabPanel value={value} index={data.key}>
<ul index={data.key}>
{data && data.theory && data.theory.length > 0 && data.theory.map((tit) => {
return (<li key={tit.key}>{tit.title}</li>);
})}
</ul>
</TabPanel>
);
})}