微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React Admin dataProvider 为“更新”返回了一个空响应

如何解决React Admin dataProvider 为“更新”返回了一个空响应

我正在创建一个带有 Drf Api 的 React Admin 项目,问题是,当我更新我的一个模型的图像字段时,它会更新,并且一切正常,但会引发下一个错误:“dataProvider 返回了一个'update' 的响应为空。”。

我检查了开发工具的网络部分,它确实收到了来自 api 的响应

Api response

这是 React Admin 数据提供程序代码


const dataProvider = drfProvider('http://127.0.0.1:8000')

const myDataProvider = {
    ...dataProvider,update : (resource,params) => {
        if(!params.data.image) {
            return dataProvider.update(resource,params)
        }
        if (!params.data.image.rawFile) {
            delete params.data.image
            return dataProvider.update(resource,params)
        }
        return convertFiletoBase64(params.data.image).then(image => {
            dataProvider.update(resource,{ 
                ...params,data : {
                    ...params.data,image : image
                }
            })
        })
    }
}

const convertFiletoBase64 = file =>
    new Promise((resolve,reject) => {
        const reader = new FileReader();
        reader.onload = () => resolve(reader.result);
        reader.onerror = reject;

        reader.readAsDataURL(file.rawFile);
    });

export default myDataProvider; ```

解决方法

虽然线程很旧,但我最近遇到了这个。希望这对将来的人有所帮助。

目前该函数没有返回任何内容。箭头函数的微小变化将确保返回数据。我删除了 .then(image => {

之后的大括号
return convertFileToBase64(params.data.image).then(image => 
            dataProvider.update(resource,{ 
                ...params,data : {
                    ...params.data,image : image
                }
            })
        )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。