Почему create-реакции-приложение не использует класс компонента функции стрелки? - PullRequest
0 голосов
/ 21 сентября 2019

Теперь (с начала этого года), когда вы запускаете приложение React с помощью Create React App, оно теперь генерирует функциональный компонент, а не компонент класса:

function App() {
  // ...
}

Мне интересно, почему они этого не сделали?Вместо этого используйте компонент функции стрелки, учитывая, что функции стрелки ES6 уже давно недоступны, плюс вам не нужно связывать this:

const App() => {
  // ...
};

Есть ли какие-нибудь заметныенедостатки использования компонента-стрелки вместо этого, которые могли бы побудить их принять такое решение, или просто этот синтаксис более знаком?

Ответы [ 2 ]

1 голос
/ 21 сентября 2019

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

Источник: https://github.com/facebook/create-react-app/pull/6655

плюс вам не нужно связывать это

На самом деле выгода здесь не предоставляется, поскольку this не делаетпривыкнуть к функциональным компонентам.

0 голосов
/ 21 сентября 2019

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

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