Я размышлял, нужно ли вам знать о компонентах класса React, прежде чем изучать функциональные компоненты React.

Немного обо мне: я работаю во внутреннем отделе, который обычно называют «теневым ИТ», потому что он не является частью официального ИТ.

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

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

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

это старая дискуссия

Это не про Реакт. Только во внешнем интерфейсе у нас были Vue2 и Vue3, а также AngularJS и Angular 2+, а также эпоха jQuery, lodash и moment.js.

Это также не касается фронтенда или фреймворков. У нас были python2, python3 и JS до и после ECMAScript 5.

Это только вершина моего разума, и есть много других, о которых я сам понятия не имею или опыта. (Примеры приветствуются в комментариях!)

Как много вам нужно знать о том, что было?

Для новичка мое мнение таково, что вам не нужно ничего знать, кроме самого свежего.

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

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

Представьте, что вы сегодня пытаетесь выучить COBOL как первый язык?

В случае с React проблема, конечно, в легаси. В React вы можете иметь устаревшую часть рядом с новым кодом. В других языках/фреймворках у вас будет только наследие или оно каким-то образом будет отделено от небольшой части или микросервиса.

Накладные расходы на устаревший стек

В случае с React, в зависимости от вашего исходного кода и вашего устаревшего кода, вы могли бы предоставить новичкам доступ к компонентам класса, Redux и, возможно, к моменту и lodash.

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

Все это до того, как на самом деле придется использовать «текущий» стек и изучить все бизнес-правила и структуру проекта.

Между тем сегодня вы можете начать с функциональных компонентов, хуков (включая Context API), некоторого базового JS, бизнес-правил и структуры проекта, а все остальное, что вам может понадобиться, вы можете решать по ходу дела.

Основы важны, но не сейчас.

Один, вероятно, начал бы кодировать намного раньше и без множества ненужных предубеждений, чем другой, который, если повезет, только смешает и наткнется на множество вещей, которые они узнали… то есть, если они не сдались раньше что.

Нет необходимости «ценить» все, что было раньше, иначе вам пришлось бы начинать на ассемблере, кодировать все структуры данных и алгоритмы на C и выполнять все шаблоны проектирования на Java, чтобы, наконец, написать «Hello, World» на языке программирования «Hello, World». JS.

Типы, структуры данных, алгоритмы, шаблоны проектирования и старая версия фреймворка, языка и пакетов, которые вы используете сегодня… которые появятся позже и, возможно, с проблемой, связанной с ними.

Сколько начинать?

Игнорируйте все, кроме самого необходимого, и заставьте его работать.
Спросите отзывы и сделайте это правильно.
Узнайте больше и улучшите его.

(Да, я пародирую фразу Кента Бека: «Заставьте это работать, сделайте это правильно, сделайте это быстро».)

Другими словами:

  • Изучите минимум необходимого, чтобы заставить его работать.
  • Не пытайтесь понять все это, просто поверьте, что это работает, и будьте счастливы на данный момент.
  • Имейте наставников и просите проверки кода. Другими словами: кодируйте и показывайте людям свои ошибки.
  • Учитесь на отзывах и кодируйте еще немного.
  • Узнайте больше, погружайтесь настолько глубоко, насколько вам нужно или хотите, и кодируйте больше и лучше.

Твой ход!

Если вы начинаете, кодируйте и покажите нам код!

В противном случае, прокомментируйте, как вы начали программировать или почему я ошибаюсь.

Фото на обложке Брэйден Коллум на Unsplash