Pull to refresh
37
0
Anastasia Puchnina @puchnina_nastya

Software engineer

Send message

Здравствуйте! Рада, если статья оказалась Вам полезна.

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

Можно вынести функцию за пределы компонента, если она не зависит от props и state, либо оставить её, как есть. Про влияние создания функций при каждом рендере на производительность можно прочитать ответ в официальной документации React: https://ru.reactjs.org/docs/hooks-faq.html#are-hooks-slow-because-of-creating-functions-in-render

Добрый день! Спасибо за комментарий) Да, так и есть: Реакт гарантирует, что она не изменится.

В данном случае стоит заметить, что в примерах в useCallback передается не сама функция-сеттер, а еще одна стрелочная функция, которая содержит этот сеттер. Это пример, в реальности эта функция могла вызывать не только сеттер, но и отправлять метрику на click, например, или вызывать еще один колбэк.

Добрый день! Согласна, что пойти на курсы логично — я также писала о том, что рекомендую это сделать, особенно если совсем нет опыта в разработке — с хорошим наставником обучение может быть более быстрым. Но при этом думаю, что 1) не все могут себе позволить хорошие курсы на освоение профессии в известной школе, 2) некоторым людям полноценный курс может быть излишен и они смогут получить все знания самостоятельно из открытых источников, курсов и книг в своем темпе — в таком случае хотелось бы просто помочь сориентироваться в обучении, 3) данный список ресурсов в любом случае может быть полезен как дополнительный источник информации при обучении.


Среди оставленных рекомендаций несколько раз ссылалась в том числе на freeCodeCamp, udemy, курсы на youtube:)


Что касается меня, то я проходила курсы и не одни, когда только начинала знакомиться с программированием, а также заканчивала основную программу Технопарка при МГТУ им. Н.Э. Баумана с курсом по фронтенд-разработке и по окончании была ментором по фронтенду.


Большинством ресурсов из приведенного списка я пользовалась сама (так как в свое время переквалифицировалась из C++/Python-разработчика во фронт) и они были мне очень полезны. Сложно выделить максимально полезное, ведь разным людям нравятся разные подходы, именно cвоим опытом я и попыталась поделиться в данной статье. Если у вас другое видение — поделитесь, это будет полезно!:)

Интересные вопросы, спасибо, что поделились!
Спасибо за комментарий! Понимаю, о чём вы говорите. На мой взгляд к этому стоит приступать изучив хотя бы один язык, чтобы понимать, о чем идет речь, например, в книге «Совершенный код». Но я ее также очень советую, спасибо, что дописали)

По поводу паттернов: refactoring.guru отличный ресурс, согласна. Однако там нет примеров на JavaScript (хотя и есть на TypeScript), поэтому в список добавляла не его, а книгу по Паттернам проектирования на JS (Learning JavaScript Design Patterns в разделе «Углубленное»).

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity