azovl
@azovl

Как определить тип в TypeScript?

Есть сложность в понимании типов в TypeScript. Имеется ввиду не простых типов "number, string, ...".

К примеру код из next.js:
class MyDocumnet extends Document {

    static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {
        const initialProps = await Document.getInitialProps(ctx);
        return {...initialProps};
    }

    render(): JSX.Element {
        return (
            <Html lang="ru">
                <Head />
                <body>
                    <Main />
                    <NextScript />
                </body>
            </Html>
        );
    }
}


1) Как определить что функция getInitialProps возвращает Promise да еще DocumentInitialProps?

или вот еще пример

2) Как определить что функция render возвращает JSX.Element?

В JS есть возможность определить тип по typeof, как быть в Typescript? Я не понимаю фундаментальную основу, определения возвращаемого типа.

Очень хочу разобраться в этом вопросе, устал гадать, хочется понимания.
  • Вопрос задан
  • 1843 просмотра
Пригласить эксперта
Ответы на вопрос 1
@AleksRap
Ты сам указываешь возвращаемый тип. Т.е ты должен знать что возвращается и написать об этом ts

по промису - функции с async по умолчанию возвращают промис, плюс тыдолжен указать что вернется после выполнения промиса. Это может быть даже unknow, если тебе не известен тип

по JSX.Element - функция render возвращает JSX.Element. Поэтому такой тип и указан
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы