繁体   English   中英

如何输入提升状态的 React prop

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM