Warning: `callback` is deprecated. Please return a promise instead.

分类:技术最近更新:2020-11-17浏览:1986

项目中采用Antd,在表单验证时采用了validator方式校验,通常我们的代码是这样的

javascript
const checkPlanRules = (rule, value, callback) => { if(clock&&!sendPlanTime){ callback("请选择定时的时间"); }else{ callback(); } };

然后就出现了标题中的报错:Warning: callback is deprecated. Please return a promise instead.

解决问题:

原因是因为新版的Antd使用了React的hooks,表单中的字段校验方法进行了一些修改,原来的回调方法改成了返回一个Promise对象。

javascript
const checkPlanRules = (rule, value, callback) => { if (clock && !sendPlanTime) { return Promise.reject("请选择定时的时间"); } else { return Promise.resolve(); } };