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

分类:技术来源:bobo最近更新:2020-11-17浏览:1985

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

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

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

解决问题:

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

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