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 后的参数类型限制似乎与形参未能对应上,该怎么理解?
阅读 2.7k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题