Можно ли экспортировать функцию стрелки по умолчанию только с одной строкой в ​​TypeScript? - PullRequest
0 голосов
/ 13 апреля 2020
const func: () => void = () => {
    console.log('I CAN export my function in this way');
};

export default func;
export default () => void = () => {
    console.log('I CANNOT export my function in this way (Parsing error: Expression expected.)');
};

Как показано выше, мы всегда можем объявить и назначить функцию обоими способами. Однако я не могу экспортировать функцию стрелки с тем же синтаксисом на export default. Как получилось?

Заранее спасибо

1 Ответ

0 голосов
/ 13 апреля 2020

Нельзя экспортировать что-либо по умолчанию с аннотацией типа в той же строке. Если вы хотите сделать это в одну строку, сохранив сигнатуру функции, вы можете сделать это в виде именованного экспорта:

   export const func: () => void = () => {
        console.log('I CAN export my function in this way');
    };

, тогда импортирующий файл будет импортирован следующим образом:

import {func} from 'path'

или ...

Вы должны были бы скопировать сигнатуру функции:

export default () => {
    console.log('I CAN export my function in this way')
}

Затем импортировать ее как угодно:

`import bloopityBloop from 'path'`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...