react-admin - react-admin: `data` 在 onSuccess() 中未定义零件
问题描述
我正在尝试遵循https://marmelab.com/react-admin/CreateEdit.html#onsuccess中的示例。我想用更新时的记录标题通知用户。
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()
在 toast 消息消失时调用,因此onSuccess()
不会收到由dataProvider.update()
.
示例中是否缺少我的东西?
附加信息
我正在使用react-admin
v3.11.1 和 Chrome 87.0.4280.88 如果我onSuccess()
从组件中删除,记录会正确更新
解决方案
如果您在Edit
上下文中,则必须设置组件undoable={false}
以Edit
防止不等待请求响应的乐观响应。
<Edit
{...props}
onSuccess={onSuccess}
undoable={false}
>
...
</Edit>
参考:https ://marmelab.com/react-admin/CreateEdit.html#undoable
推荐阅读
- scala - 如何将 DataFrame 的选定列移动到它的末尾(重新排列列位置)?
- html - 使用指定高度的 flexbox 拉伸子元素以适应父元素
- java - 如何使用 Java 在 Google Cloud Storage 中插入 pdf 文件
- laravel - Laravel 流返回字符串而不是文件
- android-studio - 使用颤振初始化gradle错误
- docker - 如何在 Elastic Beanstalk Docker 环境中配置 HTTP 基本身份验证?
- xml - 限制只有一个元素具有 DTD 的特定属性
- awk - 根据文本块中的单个值过滤文本块
- postgresql - PostgreSQL 时间点恢复不起作用
- php - 获取同一模型中的模型数据字段