Получите класс обернутых компонентов от подключенного HOC в реактив-редуксе - PullRequest
0 голосов
/ 13 сентября 2018

При использовании функции connect в react-redux создается компонент высшего порядка. Из экземпляра этого HOC можно получить доступ к обернутому экземпляру расширенного компонента. Возможно ли, однако, извлечь завернутый класс из класса HOC?

например:.

class A extends React.Component {}

ConnectedA = connect(mapStateToProps, mapDispatch)(A);

ConnectedA.some_static_method_to_get_the_wrapped_class(); // === A

РЕДАКТИРОВАТЬ: Ради ясности, у меня нет экземпляра ConnectedA доступны. Мне нужен статический метод или свойство. Это существует?

1 Ответ

0 голосов
/ 13 сентября 2018

Возможно использовать подключенный компонент getWrappedInstance метод в сочетании с опцией withRef, чтобы получить ссылку на завернутый компонент:

this.aConnectedRef = React.createRef();

...

<ConnectedA ref={this.aConnectedRef} />

...

// after render
// this.aConnectedRef.current.getWrappedInstance() instanceof A === true

Сам обернутый класс доступен как WrappedComponent свойство:

ConnectedA.WrappedComponent === A

Если требуется A статический метод, то, скорее всего, следует использовать ссылку на класс A, либо он может быть изменен, чтобы не требовать статического метода.

...