javascript - 无法在 React.js 中加载表
问题描述
我正在试验片段,并试图将数据动态加载到表中。我没有收到任何错误,但表格没有显示在网页上。请在下面找到我附加的代码片段。有 3 个文件叫做 App.js,FragmentDemo.js(我在这里声明了表格和标题)和 FragmentChild.js(表格数据将从数据数组发送)
//**App.js**
import logo from './logo.svg';
import './App.css';
import MountLife from './components/MountLifeCycle'
import Fragment from './components/Fragments/FragmentDemo'
function App() {
return (<div className="App">
<Fragment />
</div>)
}
export default App;
//**FragmentDemo.js**
import React from 'react'
import FragChild from './FragChild'
function FragmentDemo() {
return (
<div>
<table>
<tr>
<th>id</th>
<th>Name</th>
<th>Company</th>
</tr>
<FragChild />
</table>
</div>
)
}
export default FragmentDemo
//**FragChild.js**
import React from 'react'
function FragChild() {
const list = [{
id: 1,
name: "P1",
company:"Google"
},
{
id: 2,
name: "P2",
company:"Microsoft"
},
{
id: 3,
name: "P3",
company:"Uber"
}
]
const paramList = list.map( elem => (
<tr key={elem.id}>
<td>{list.id}</td>
<td>{list.name}</td>
<td>{list.company}</td>
</tr>))
return (
<React.Fragment>
{paramList}
</React.Fragment>
)
}
export default FragChild
解决方案
在您的paramList
, 您指的是list.id
,list.name
等 - 您真正想要的是elem.id
,elem.name
等:
const paramList = list.map( elem => (
<tr key={elem.id}>
<td>{elem.id}</td>
<td>{elem.name}</td>
<td>{elem.company}</td>
</tr>))
作为一个不相关的问题,您将收到一条警告,提示您还应该有一个tbody
HTML 元素——您也应该将它添加到您的标记中(但是否拥有它不会影响表格是否呈现)
推荐阅读
- flutter - 如何从flutter的dropDownMenu中的选定项目获取文档ID
- javascript - 尽管我点击了按钮,但总和无法显示
- arrays - 在 Python3 中合并三个数组
- python - AttributeError:“set”对象没有与 NetworkX 一起使用的属性“number_of_nodes”
- html - 当输入文本具有必需属性时,Formaction 属性不起作用
- c++ - 为什么在使用 unique_ptr 时没有调用析构函数?
- python - 我希望我的代码在用户一一键入时不断向我的列表中添加新元素。但是代码没有这样做
- c - 该函数正在将乱码打印到我的文件中,即使整数具有正确的值
- javascript - if 语句可以在 usestates 中使用吗?
- java - 在推土机映射中使用接口作为源