Как стать автором
Обновить

Комментарии 18

Хук use обладает интересной особенностью: в отличие от других хуков React, его можно вызывать внутри циклов и условных операторов, таких как if.

Но расплата за это - необходимость вручную следить, чтобы передавался туда между рендерами один и тот же промис, иначе вы задобаете сервер бесконечными запросами. То есть так не заработает:

const data = use( fetchData() )

И так тоже:

const data = use( useState( fetchData )[0] )

И даже так:

const data = use( useMemo( fetchData, [] ) )

Все 3 кейса ловятся элементарными линтерами. Вы же не самостоятельно за зависимостями в хуках следите.

К счастью, я использую более вменяемые инструменты, где и за зависимостями следить не приходится, и обмазываться линтерами нет необходимости.

Позвольте я угадаю, что это за мифический инструмент? MobX?

Вы же в 2009 году зарегистрированы. Как вы не смогли предположить, что же за инструмент тов. Карловский сейчас подкинет?..

Да, подловил он меня в пылу, что тут скажешь.

Но я к $mol отношусь нормально. Не вижу проблем в инструменте, который решает проблему и приносит деньги. Совсем другой вопрос в другом - стоит ли продолжать инвестировать собственное время в инструмент, который так и не получил широкого распространения.

Пожалуй, для новых проектов сейчас идет выбор следующего порядка: HTMX или React/NG/Vue. В этом ряду нет ни Svelte, ни Solid и прочих крутых быстрых фреймворков. Когда действительно нужна скорость и легковесность, то лучше сразу делать на HTMX. Компании с приличной экспертизой не выберут промежуточное решение - либо полный хардкор, либо классический SPA на понятном стеке с миллионами разработчиков на рыке.

А чем вы пользуетесь, если не секрет?

Стыдно не знать!

в чем преимущество использования form.action над form.onSubmit?

Думаю как стандартизация конвенционального подхода. SSC фреймворк уже используют action.

Можете пояснить? SSC framework - это вроде как вообще набор практик по работе с open source software. Там есть какие-то рекомендации по работе с формами?

Внутри ведь происходит ровно то же самое: react ловит submit event, и если action - это функция, то вызывает ее. Но ловить submit могу я и сам...

Я имел ввиду action из Remix. Next.js решает аналогичную задачу иным путем - через onSubmit. Обработка форм через action позволит стандартизировать хендлинг форм и на клиенте, и на сервере.

Какие-то, кхм... странноватые примеры для use. Не понятно какую задачу оно решает.

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

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

Что вам такого плохого сделал jQ ? "...Какое-то жиквери", ладно вы бы один такой был, но тут приличное количество людей, которые выдают "остроумные колкости" в сторону библиотеки, которая до сих пор помогает людям делать web страницы ? Без негатива, но я реально не понимаю почему пытаются унизить эту прекрасную библиотечку.

Нормальная библиотека... была лет 10 назад. И уже тогда они зачем-то решили сделать из неё многофункциональный супер-комбайн, эдакий швейцарский нож в мире JS. При этом, всё необходимое она уже имела как раз где-то в тот период, лет десять назад. Но нет, надо было продолжать насиловать мамонта и напихивать в него всё новый и новый фарш.

Хотя по сути, всё что было надо — оставить урезанную sizzle (которая, кстати, тоже избыточна) и несколько обёрток.

Почему про неё говорить уже не очень прилично в сфере? Смотрите, одна из причин её популярности - она позволяла удобнее делать вещи, которые в браузерах либо были не реализованы, либо были реализованы по разному. Эти времена безвозвратно прошли. Очень мало кому сейчас нужно обязательно поддерживать зоопарк из 0.01% самых старых браузеров. Плохо это или хорошо — сейчас не об этом, это просто факт, абсолютное большинство устройств пользователей сегодня нативно поддерживают, например тот же fetch, так что обёртка над аяксом из jq уже просто бесполезна.

Да, я знаю что они там запилили возможность "собрать свою $", но, опять же, веб изменился, интерфейсы уже не пишут так как писали 10 лет назад, это уже просто никому не надо.

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

Если вы собираетесь пару кнопок дёргать, то наверное вам не нужно тащить за собой ничего, это спокойно делается голым js.

1) Но давайте представим, что мы разрабатываем что-то более серьёзное чем калькулятор и нам нужно держать кусок js кода, условно, в 10к строк ?
Даже такой средней руки проект в целом можно построить на чистом js, но зачем если на jq, это сделать быстрее ? Всё еще мусор ?

2) Вы пример избытка в jq то приведите, а то смотрю - все вроде полезное и даже местами удобное.

3) Кому-то удобнее ajax кому-то fetch, кому-то как и мне - абсолютно фиалково что использовать. Бесполезное ? Хорошо, тут даже спорить не буду, но остальное в jq достаточно полезно.

Давайте не рассматривать тут SPA - это не интересно. Хотя я порой такое вижу, что уж извольте, лучше бы на jQuery написали, чем на React городили.

Весь мой посыл в целом заключается не в призыве использовать jq, не используйте, никто не умрёт. Мое негодование связано с не пониманием, почему некогда полезный инструмент, который активно использовался, да и до сих пор используется - покрывается волной хейта только потому что js - развивается.

Тут просто кошмар - мусором называют. Напоминаю, jQuery. Не Vasya2008superLib.js, а jQuery, которая является одним из самых известных и стабильных инструментов веб разработки.

Вам пригодиться

Всего доброго.

PS sizzle избыточна ? Ладно, тут может я не знаю чего, но вроде это штука нужна для поиска DOM элементов и только. Сейчас нет возможности углубиться, может когда-нибудь.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий