withRef удален. Чтобы получить доступ к упакованному экземпляру, используйте ссылку на подключенный компонент - программирование

withRef удален. Чтобы получить доступ к упакованному экземпляру, используйте ссылку на подключенный компонент

Я хочу вызвать функцию из подключенного компонента, используя 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

Как я могу использовать ref в реаги-редуксе 6?

4b9b3361

Ответ 1

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

Параметр withRef для подключения был заменен на forwardRef. Если {forwardRef: true} для connect, добавление ссылки на подключенный компонент-обертку фактически вернет экземпляр обернутого компонента.

Ответ 2

Это работает для меня:

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