React-Redux连接打字稿中的问题

Nah*_*nde 10 typescript reactjs redux

我试图制作一个传递给react-redux connect函数的组件.该组件如下:

interface ITestProps {
  id: number
}

class TestComponent extends React.Component<ITestProps, {}> {
  render() {
    return (<div>
      {this.props.name}
    </div>)
  }
}

mapStateToProps(state) {}
mapDispatchToProps(dispatch) {}

let ConnectedComponent = connect(
  mapStateToProps,
  mapDispatchToProps
)(TestComponent)
Run Code Online (Sandbox Code Playgroud)

如果我ConnectedComponent像这样渲染,上面的代码似乎工作

<ConnectedComponent></ConnectedComponent>
Run Code Online (Sandbox Code Playgroud)

即没有id道具.不应该抛出错误,因为ConnectedComponent它只是连接形式,TestComponent并且TestComponent应该有表格的道具ITestProps.这是它应该如何表现或我做错了什么.

Rad*_*io- 18

我不确定为什么打字不能单独从演示组件中推断出类型,但如果在连接中键入ownProps它将起作用 - >

let ConnectedComponent = connect<{}, {}, ITestProps>(
  mapStateToProps,
  mapDispatchToProps
)(TestComponent)
Run Code Online (Sandbox Code Playgroud)

如果在mapDispatchToProps - >中键入ownProps,它也可以推断它

mapStateToProps(state, ownProps: ITestProps) {}
Run Code Online (Sandbox Code Playgroud)

  • 您能否详细说明删除了哪些优化? (4认同)