[英]How to type React prop that lifts state up
简单的反应组件:
interface Props {
title: string;
text: string;
callback?: Promise<boolean>;
}
const ExampleComponent: React.FC<Props> = ({ title, text, callback }) => {
SweetAlert.fire({
title,
text
}).then(r => if (r.value) callback(r.value));
}
得到以下错误:
TS2349: This expression is not callable. Type 'Promise<boolean>' has no call signatures.
TS2722: Cannot invoke an object which is possibly 'undefined'.
什么类型应该有我的callback
?
只需将其定义为一个接受一个参数的函数
callback: (val: boolen) => void;
如果您要调用它,很可能需要将其设为必需的道具。 如果您希望不需要它 - 只需检查回调是否存在,例如:
if (callback) callback(value)
希望能帮助到你 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.