interface类型的变量,​变量 param 被声明为类型为 AnimateCallback 的变量

export interface AnimateCallback { 
  finish: (isPush: boolean, isExit: boolean) => void; 
  start: (isPush: boolean, isExit: boolean) => void; 
  onFinish: (isPush: boolean, isExit: boolean) => void 
  timeout: number; 
} 
 
export class CustomTransition { 
  registerNavParam(name: string, startCallback: (operation: boolean, isExit: boolean) => void, 
                   endCallback:(operation: boolean, isExit: boolean) => void, 
                   onFinish: (opeation: boolean, isExit: boolean) => void, timeout: number): void { 
 
    if (customTransitionMap.has(name)) { 
      let param : AnimateCallback  = customTransitionMap.get(name); 
      param.start = startCallback; 
      param.finish = endCallback; 
      param.timeout = timeout; 
      param.onFinish = onFinish; 
      return; 
    } 
    let params: AnimateCallback = {timeout: timeout, start: startCallback, finish: endCallback, onFinish: onFinish}; 
    customTransitionMap.set(name, params); 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

这种报错应该如何修改?

​变量 param 被声明为类型为 AnimateCallback 的变量,但是在某个地方给它赋值为了一个 AnimateCallback | undefined 类型的值,这是不允许的,因为 undefined 类型不能赋值给 AnimateCallback 类型。

HarmonyOS
2024-05-10 21:43:59
1472浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
克里斯蒂东

加强了类型校验增

加断言 as Want 可以解决。

分享
微博
QQ
微信
回复
2024-05-11 11:10:21
相关问题
HarmonyOS 重载函数类型变量报错
507浏览 • 1回复 待解决
ArkTS简单类型变量双向数据绑定
2729浏览 • 1回复 待解决
ArkTS中声明变量时public作用
3030浏览 • 1回复 待解决
HarmonyOS descV变量作用
378浏览 • 1回复 待解决
HarmonyOS定义一个map临时变量
1064浏览 • 1回复 待解决
HarmonyOS 变量定义与使用
949浏览 • 1回复 待解决
状态变量和常规变量有什么区别?
1293浏览 • 2回复 待解决
HarmonyOS如何声明一个null函数类型
1078浏览 • 1回复 待解决