失败的 prop 类型:prop `rows` 在 `ForwardRef(DataGrid)` 中标记为 required,但其值为 `undefined`

问题描述 投票:0回答:2

代码是:

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 应用程序。 我不确定这里出了什么问题。

reactjs material-ui datagrid
2个回答
1
投票

这里需要初始化数组:

const [list, setList] = useState();

成为

const [list, setList] = useState([]);

这是因为 React 的工作方式。第一次运行代码时,您的提取不会返回值。

阅读有关反应生命周期的信息。 https://www.w3schools.com/react/react_lifecycle.asp

如果您使用加载指示器阻止执行屏幕截图中的代码,那么您的错误是当您捕获时您完全忽略了该错误。所以记录错误并处理它。

要在没有任何列表数据的情况下呈现页面,请执行

rows={list ?? []}
以确保列表为空而不是空/未定义。


-2
投票

你解决问题了吗因为我有同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.