реагирует функция экспорта против экспорта const: FC - PullRequest
1 голос
/ 20 марта 2020

Так что мне просто интересно, в чем разница или причины использовать одно над другим ...

export function Name() { return <div /> }

против

export const Name = () => { return <div /> }

1 Ответ

1 голос
/ 20 марта 2020

Прагматично (т. Е. При построении функциональных компонентов в React), нет разницы между использованием именованной функции и экспортом функции стрелки в качестве значения именованного экспорта.

В обоих случаях вы экспортируете функция, которая (надеюсь) не использует ключевое слово this. Таким образом, вам не нужно беспокоиться об одном из самых важных различий между функцией и функцией стрелки, а именно о том, нужно ли вам this быть лексически связанным с динамически связанным.

Также, как вы назначаете переменная для функции стрелки, вам не нужно беспокоиться о снижении отслеживаемости при отладке функции стрелки. JavaScript может выводить имена функций.

Как вы, вероятно, знаете, будет иметь значение, если вы экспортируете компонент как экспорт по умолчанию, потому что тогда вы не можете дать имя экспорту по умолчанию. Вам нужно будет использовать две строки:

const Name = () => { return <div /> }
export default Name
...