Правильно комментируйте HOC в соответствии с Typescript - PullRequest
0 голосов
/ 09 ноября 2019

Мне трудно правильно комментировать следующий HOC. Я не знаю, что поставить для возвращаемых типов функций, и я не знаю, как комментировать реквизиты. Я всегда получаю ошибки.


const withAuthentication = <Props extends object>(
  Component: React.ComponentType<Props>
) => {
  const WithAuthentication = (props: Any) => {
    const { firebase } = props

    return (
      <AuthUserContext.Provider value={authenticated}>
        <Component {...(props as Props)} />
      </AuthUserContext.Provider>
    )
  }

  return withFirebase(WithAuthentication)
}

Кто-нибудь знает, как это исправить? Помощь будет очень ценится!

1 Ответ

1 голос
/ 09 ноября 2019

Правильный способ указать тип возвращаемого значения выражения для анонимной функции в машинописи выглядит следующим образом. Спецификация типа идет после объявления аргумента

const withAuthentication = (
    Component: React.ComponentType<Props>
) : React.Component<Props> => {
    const WithAuthentication = (props: Any) => {
        const { firebase } = props;

        return (
            <AuthUserContext.Provider value={authenticated}>
                <Component {...(props as Props)} />
            </AuthUserContext.Provider>
        );
    };

    return withFirebase(WithAuthentication);
};

...