首页 > 解决方案 > 无法从 useEditController 获取数据

问题描述

我使用 React Admin,我想创建一个自定义编辑页面,所以我使用 useEditController 从 dataProvider.getOne() 获取数据。但是当我想重组数据时,由于未定义,它不能这样做。我认为这是因为 useEditController 是一个异步调用,我们必须在解构数据之前等待它。

这是我的 MyEdit.js 中的代码:

const {
basePath,
defaultTitle,
loaded,
loading,
record,
redirect,
resource,
save,
saving,
version,
} = useEditController(props)
const { videoKey } = record

当我运行它时,它说“无法解构'record'的属性'videoKey',因为它是未定义的。”

标签: javascriptreactjsreact-admin

解决方案


实际上,useEditController甚至在 API 响应对record. 这意味着在为真record之前是未定义loaded的。

所以我建议你只尝试解构recordifloaded值是true. 就像是:

if (!loaded) return null; // or a loading component of your own
const { videoKey } = record;
...

推荐阅读