Javascript 无法访问流抽象类型和函数-属性
我正在用react native使用flow,我肯定遗漏了什么 我试图用语言来表达我的问题,但没有办法不让人感到困惑,所以情况如下: 我已经在这方面做了一段时间了,但不太明白为什么我不能使用我定义的属性Javascript 无法访问流抽象类型和函数-属性,javascript,function,flowtype,Javascript,Function,Flowtype,我正在用react native使用flow,我肯定遗漏了什么 我试图用语言来表达我的问题,但没有办法不让人感到困惑,所以情况如下: 我已经在这方面做了一段时间了,但不太明白为什么我不能使用我定义的属性 任何帮助都将不胜感激。我可能也会这样写代码 type Subscriber<P> = (params: P) => boolean; type ParkSelectedEventParams = { park_selected: {} }; let onParkS
任何帮助都将不胜感激。我可能也会这样写代码
type Subscriber<P> = (params: P) => boolean;
type ParkSelectedEventParams = {
park_selected: {}
};
let onParkSelected: Subscriber<ParkSelectedEventParams> = (params: ParkSelectedEventParams): boolean => {
console.log(params.park_selected);
return true;
};
类型订阅者=(参数:P)=>布尔值;
类型ParkSelectedEventParams={
所选公园:{}
};
let onParkSelected:Subscriber=(参数:ParkSelectedEventParams):布尔=>{
控制台日志(已选择参数park_);
返回true;
};
()
或者我相信你可以把最后一部分删减到
let onParkSelected: Subscriber<*> = (params: ParkSelectedEventParams): boolean => {
console.log(params.park_selected);
return true;
};
let onParkSelected:Subscriber=(参数:parkselectedeventpams):布尔=>{
控制台日志(已选择参数park_);
返回true;
};
由于函数声明部分允许Flow知道如何填写
*
,它改变了我的应用程序中的很多东西,但现在可以工作了,因此我必须反复阅读这篇文章,才能理解为什么我一开始就错了,为什么这样更好;)谢谢你可以让onParkSelected:Subscriber=params=>{/*etc*/},因为Subscriber
已经对函数本身进行了注释。@kalley是的,这当然也是一个选项。