withRef被删除。要访问包装的实例,请在连接的组件上使用ref

时间:2018-12-17 16:32:00

标签: javascript reactjs redux react-redux

我想使用ref从连接的组件中调用函数,因此我以前在连接的组件中的withRef: true中使用过:

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

并在演示组件中:

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

更新为react-redux 6之后,出现此错误:

 withRef is removed. To access the wrapped instance, use a ref on the connected component

如何在react-redux 6中使用ref?

2 个答案:

答案 0 :(得分:23)

https://github.com/reduxjs/react-redux/releases/tag/v6.0.0

  

用于连接的withRef选项已替换为forwardRef。如果{forwardRef : true}已传递给connect,则向连接的包装器组件添加引用实际上将返回被包装组件的实例。

答案 1 :(得分:1)

这对我有用:

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