Реагировать функциональные компоненты с крюками против компонентов класса

На самом деле, версии стандарта C ++ до того, как C ++ 11 определили ключевое слово «export», [] , можно просто объявить шаблоны в файле заголовка и реализовать их в другом месте.

К сожалению, ни один из популярных компиляторов не реализовал это ключевое слово. Единственный, о котором я знаю, - это интерфейс, написанный Edison Design Group, который используется компилятором Comeau C ++. Все остальные настаивали на том, что вы пишете шаблоны в заголовочных файлах, нуждающихся в определении кода для надлежащего создания экземпляра (как уже указывали другие).

В результате стандартная комиссия ISO C ++ решила удалить export особенность шаблонов, начинающихся с C ++ 11.

25
задан skyboyer 30 October 2018 в 12:53
поделиться

2 ответа

Лучшая причина использования Рычагов: уберите код и лучший опыт разработки. Поскольку иногда сложные компоненты делают код трудно для чтения. Таким образом, мы можем использовать рычаги вместо этого. Но это не означает, что реагируют, заменит классы. Реагируйте продолжит поддерживать обоих. Для большего количества информации можно обратиться к документации https://reactjs.org/docs/hooks-intro.html

0
ответ дан 27 November 2019 в 22:47
поделиться

Рычаги значительно уменьшают объем кода, который необходимо записать и увеличить его удобочитаемость.

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

Также существует все еще ограниченная поддержка/документация тестирования рычагов по сравнению с классами. https://dev.to/theactualgivens/testing-react-hook-state-changes-2oga

0
ответ дан 27 November 2019 в 22:47
поделиться
Другие вопросы по тегам:

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