@JoshWComeau I've recently encountered it and made 2 examples:
1. Registering start and end events together: https://t.co/PZQjsk5Xmw
2. Async handler with multiple awaits: https://t.co/NPYflCf9Ml
These examples are coding exercises so they don't use refs but can be fixed by using them
Дано: есть строка, внутри неё инпуты и кнопки.
При клике внутри строки нужно переводить фокус на первый инпут, но только в том случае, если не кликнули по другому инпуту или кнопке.
Решение: проверить, забрал ли на себя фокус кликнутый элемент.
Дополнение — нужно ещё проверить document.activeElement !== document.body, т.к. в случае когда ничего не в фокусе, там может лежать сам <body>
Обновлённый код в сэндбоксе: https://t.co/aJaqjMQjaG
Всегда думал, что ключи объекта обходятся в алфавитном порядке (например, в Object.keys). А оказалось принцип совсем другой:
1. Сначала идут по возрастанию ключи, которые приводятся к целым положительным числам
2. Потом все остальные в хронологическом порядке добавления в объект
Был уверен, что Adobe уже благополучно купили Фигму, а оказывается всё ещё в процессе и есть серьёзная вероятность, что покупку заблокируют
https://t.co/fEJilqRf5b
Попросил ChatGPT придумать название переменной и он справился.
Скинул ему кусок кода для ознакомления (скрин 1), описал дополнительный контекст (скрин 2) и попросил совета (скрин 3).
В итоге варианты `renamedTables` и `tablesAfterUpdate` показались самыми подходящими.