У меня есть базовый HOC, который находится вокруг нескольких моих компонентов:
import * as React from 'react';
export const AuthRoute = () => (WrappedComponent: any) => {
return class extends React.Component<{}, {}> {
constructor(props: any) {
super(props);
}
public render() {
return <WrappedComponent {...this.props} />;
}
};
}
Я хочу, чтобы этот HOC имел доступ к другому HOC - клиентскому HOC React Apollo для GraphQL. Я пробовал использовать клиент Apollo на этом HOC, но он выдает ошибку «TypeError: не удается установить свойство 'props' на undefined». Вот моя попытка:
const AuthRoute = () => (WrappedComponent: any) => {
return class extends React.Component<{}, {}> {
constructor(props: any) {
super(props);
}
public render() {
return <WrappedComponent {...this.props} />;
}
};
}
const GET_AUTH = gql`
{
authStatus {
authStatus
}
}
`;
export default compose(graphql(GET_AUTH))(AuthRoute);
Мне здесь не хватает чего-то простого, потому что я думал, что это сработает? Или есть лучшая практика для библиотеки на основе HOC, такой как Apollo, с существующим HOC?
Спасибо!