• 4
  • 新人请关照

tsx interface定义中的语法问题

请教一下,在 ionic-react 示例中有如下的一段定义 connect 功能的代码块

/src/data/connect.tsx line:6

interface ConnectParams<TOwnProps, TStateProps, TDispatchProps> {
  mapStateToProps?: (state: AppState, props: TOwnProps) => TStateProps,
  mapDispatchToProps?: TDispatchProps,
  component: React.ComponentType<any>
};

export function connect<TOwnProps = any, TStateProps = any, TDispatchProps = any>({ mapStateToProps = () => ({} as TStateProps), mapDispatchToProps = {} as TDispatchProps, component }: ConnectParams<TOwnProps, TStateProps, TDispatchProps>): React.FunctionComponent<TOwnProps> {
    // ...
}

有几个不太懂的地方

  1. interface 定义中接 <TOwnProps, TStateProps, TDispatchProps> 的写法在各文档中都未找到相关资料,请教下是什么意思?
  2. export function connect 后的参数类型限制似乎与形参未能对应上,该怎么理解?
阅读 136
评论
    1 个回答
    • 2.5k

    1.不是范型吗?
    2.范型默认类型
    不是很明白你的意思

      撰写回答

      登录后参与交流、获取后续更新提醒