reactjs - material-ui 表不显示数据
问题描述
您好,我正在使用 material-ui 尝试一些东西,但在从我的 react-context 显示我的数据时遇到了问题。我想做的是在 material-ui 表中显示我的上下文(这是一个数组)。这不是上下文的问题,因为当我打印出数组时,里面有带有值的元素。所以它必须是材料表类的问题。如果有人熟悉这些,我将不胜感激。
这是我的表格组件。我正在使用该map()
函数两次遍历我的数组。一次在 return-statement 的顶部进行测试,该语句起作用,然后在 material-ui 组件中进行测试,该组件不起作用(没有显示任何数据)。
export default function PhaseList() {
const classes = useStyles();
const [phases, setPhases] = useContext(PhasesContext);
useEffect(() => {
console.log('retrieving phases', phases);
}, [phases]);
return (
<>
<ul>
{phases.map((phase) =>
<li key={phase.id}>
{JSON.stringify(phase)}
</li>
)}
</ul>
<TableContainer component={Paper}>
<Table className={classes.table} size='small'>
<TableHead>
<TableRow>
<TableCell>phase</TableCell>
<TableCell>name</TableCell>
<TableCell>time</TableCell>
<TableCell>description;</TableCell>
</TableRow>
</TableHead>
<TableBody>
{phases.map((phase) => (
<TableRow key={phase.id}>
<TableCell component='th' scope='phase'>
{phase.name}
</TableCell>
<TableCell>{phase.name}</TableCell>
<TableCell>{phase.time}</TableCell>
<TableCell>{phase.description}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
</>
);
}
没有错误或任何东西,当我单击按钮添加它时,它只会创建一个空行,如您在此处看到的那样。具有值的元素打印在顶部,但不在表格中。我在控制台中唯一得到的是这个警告:警告:列表中的每个孩子都应该有一个唯一的“关键”道具。
提前非常感谢。
解决方案
它与您的数据结构有关。
{phases.map((phase) => (
<TableRow key={phase.phase.id}>
<TableCell component='th' scope='phase'>
{phase.phase.name}
</TableCell>
<TableCell>{phase.phase.name}</TableCell>
<TableCell>{phase.phase.time}</TableCell>
<TableCell>{phase.phase.description}</TableCell>
</TableRow>
))}
您需要更改phase.name
为phase.phase.name
现在你知道了,你可能想要编辑你的数据结构。
推荐阅读
- react-native - 刚刚安装 react-native-fullscreen-video 并收到此错误:未定义不是对象(评估'Orientation.lockToPortrait')
- reactjs - 如何在静态 URL 上加载不同的组件
- angular - 如何在 http 标头中为令牌设置变量
- bash - bash 移动失败
- wordpress - 如何将 API 集成到我的 WordPress 项目中?
- angular - Angular 6 - 找不到模块:错误:无法解析“http”
- extjs - extjs 3.4 - 嵌套网格中的扩展器从父行而不是自己的行获取记录
- android - 子主题没有拾取父 textColor
- python - 将列中的值替换为具有相同列名和长度的另一个数据框中的值
- groovy - NiFi 1.5:在 groovy 中使用 ScriptedRecordSetWriter 编写自定义 XML