首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react admin:` `data`‘在<Edit>组件上的<Edit>()中未定义

react admin:` `data`‘在<Edit>组件上的<Edit>()中未定义
EN

Stack Overflow用户
提问于 2021-01-06 04:01:55
回答 1查看 640关注 0票数 0

我正试图效仿https://marmelab.com/react-admin/CreateEdit.html#onsuccess的例子。我想在更新时通知有记录标题的用户。

代码语言:javascript
复制
    const onSuccess = ({ data }) => {
        console.log(data) // output: undefined
        notify(`Changes to post "${data.title}" saved`)
        redirect('/posts');
        refresh();
    };

JS总是抱怨undefined没有title属性。

根据文档,data来自于dataProvider.update()的响应。

onSuccess函数接收来自dataProvider调用(dataProvider.create()或dataProvider.update())的响应.

但是,根据我测试的结果,onSuccess()是在提交时立即调用的,而dataProvider.update()是在吐司消息消失时调用的,因此onSuccess()没有收到dataProvider.update()返回的承诺的结果。

在这个例子中我遗漏了什么吗?

补充资料

我使用的是react-admin v3.11.1和Chrome87.0.4280.88,如果从组件中删除onSuccess(),记录将被正确更新。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-06 08:46:41

如果您处于Edit上下文中,则必须将undoable={false}设置为Edit组件,以防止不等待请求响应的乐观响应。

代码语言:javascript
复制
<Edit
  {...props}
  onSuccess={onSuccess}
  undoable={false}
>
    ...
</Edit>

参考文献:https://marmelab.com/react-admin/CreateEdit.html#undoable

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65590020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档