redux React-还原-V6:withRef已移除,若要存取 Package 的执行严修,请在连接的元件上使用ref

72qzrwbm  于 2022-12-13  发布在  React
关注(0)|答案(2)|浏览(131)

我想用ref从一个连接的组件中调用一个函数,所以我在连接的组件中使用了之前从withRef: true中调用的:

export default connect(
  mapStateToProps, mapDispatchToProps, null, {withRef: true}
)(InviteReceiverForm)

在陈述部分:

<ExampleComponent 
  ref={ cmp => { if(cmp) { this.individualSenderFormRef = cmp.getWrappedInstance() }} />

但是在我更新到react-redux v6之后,我得到了这个错误:
withRef is removed. To access the wrapped instance, use a ref on the connected component
如何在react-redux v6中使用ref?

bxpogfeg

bxpogfeg1#

您需要将withRef替换为forwardRefas per the release notes
用于连接的withRef选项已替换为forwardRef。如果{forwardRef : true}已传递给connect,则向连接的 Package 组件添加引用实际上将返回 Package 组件的示例。
因此,在您的情况下:

export default connect(
  mapStateToProps, mapDispatchToProps, null, {forwardRef: true}
)(InviteReceiverForm)
5hcedyr0

5hcedyr02#

这对我很有效:

connect(
    mapStateToProps,
    null,
    null,
    {
      forwardRef: true
    }
  )
)(ComponentName);

相关问题