代码是:
return (
<div className="datatable">
<div className="datatableTitle">
Add New User
<Link to="/users/new" className="link">
Add New
</Link>
</div>
<DataGrid
className="datagrid"
rows={list}
columns={userColumns.concat(actionColumn)}
pageSize={9}
rowsPerPageOptions={[9]}
checkboxSelection
getRowId = { (row)=>row._id}
/>
</div>
);
我正在从 lamadev 的 youtube 教程创建一个预订 MERN 应用程序。 我不确定这里出了什么问题。
这里需要初始化数组:
const [list, setList] = useState();
成为
const [list, setList] = useState([]);
这是因为 React 的工作方式。第一次运行代码时,您的提取不会返回值。
阅读有关反应生命周期的信息。 https://www.w3schools.com/react/react_lifecycle.asp
如果您使用加载指示器阻止执行屏幕截图中的代码,那么您的错误是当您捕获时您完全忽略了该错误。所以记录错误并处理它。
要在没有任何列表数据的情况下呈现页面,请执行
rows={list ?? []}
以确保列表为空而不是空/未定义。
你解决问题了吗因为我有同样的问题