Рубрики
Без рубрики

Реагистрационные функциональные компоненты: const vs. Функция

Сегодня мне было интересно, есть ли какая-либо реальная разница в декларировании нового компонента с синтаксисом функциональной синтаксиса функций стрелки Const Arrow. TLDR: Heasting, я думаю?. Помечено с помощью React, JavaScript, WebDev, обсудить.

Я был эффективным, оптимизируя наше приложение недавно и как таковой, я попал в Nitty Gritty of JavaScript. Один из вещей, о которых я думал, это если есть какая-либо реальная разница между объявлением компонента, как это:

const MyComponent = () => {
    return(
      ..
    )
}

против.

function MyComponent() {
    return(
      ..
    )
}

В этой форме Функция Синтаксис немного короче.

А потом?

Время от времени мы можем написать функцию стрелки, как это:

const MyComponent = () => (...)

Если мы положим нормальную скобки после стрелки, нам не нужно писать вернуть Отказ Так что короче, если мы сможем вернуться немедленно.

А потом?

Еще одна вещь, которую я видел, о чем говорят, это Экспорт компонента.

export default function MyComponent() {}

против.

const MyComponent = () => {}

export default MyComponent

Синтаксис функции дает нам возможность экспортировать по умолчанию компонент на месте.

А потом? (Любой чувак, где мои любители автомобиля здесь?)

Подъемность

Оказывается самая большая причина (как я мог найти) связан с подъемом. Давайте посмотрим на пример с действительным синтаксисом:

// I like to write my components before I use them

const MyComponent = () => {}

const AlsoMyComponent = () => {}

const App = () => (
    <>
      
      
    
)

А потом? Давайте посмотрим на неверный синтаксис:

const App = () => (
    <>
      
      
    
)
// I like to keep my components at the bottom

const MyComponent = () => {}

const AlsoMyComponent = () => {}

Этот пример 👆 будет привлекать ваш Линтер, чтобы бросить ошибку. Потому что компоненты используются до того, как они будут объявлены.

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

 const App = () => (
    <>
      
      
    
)
// I like to keep my components at the bottom

function MyComponent() {}

function AlsoMyComponent() {}

Этот пример 👆 будет не Задействуйте свой Linter, потому что, когда мы запустим файл, он будет выглядеть так с JavaScript Engine:

// Components are hoisted to the top.

function MyComponent() {}

function AlsoMyComponent() {}

 const App = () => (
    <>
      
      
    
)
// I like to keep my components at the bottom

👀 where did they go?

А потом?

Вот и все! Я думаю…? Если у вас есть другая идея, то мне, или узнайте больше различий, пожалуйста, дайте мне знать!

Оригинал: “https://dev.to/ugglr/react-functional-components-const-vs-function-2kj9”