Я примерно понимаю, что использование функции обновления prevCount => prevCount + 1 как-то связано с замыканием
И с чем связано это понимание? Тут достаточно название прочитать: prev count = previous count. Надеюсь, переводить не надо?
Ты просто передаёшь каллбек, в который будет гарантированно передано текущее значение стейта. Всё. Ничего более.
Чтобы понять разницу, сделай два сетстейта в эвенте или оберни в юзкаллбек.
Михаил Р., да, но внутри кастомных тегов идут нативные, так что не факт, что это проблема. Тут скорее нюанс в том, что все эти компоненты подгружаются жсом, только я не очень понял когда именно, потому что скррипт подключается в самом начале и потом вешается обсервер на документ. Я такое никогда не трогал, поэтому хз как это скажется на поисковиках, но их сайт сам на нём написан и в поисковиках виден, так что хз.
Михаил Р., погуглив я понял почему ты задал этот вопрос.) Очень круто, когда ты гуглишь юи библиотеки для жса, а тебя осыпают списками библиотек для фреймворков.
Впрочем, нашёл такой вариант: https://shoelace.style/
Для ванилы и работает с фреймворками. Только там явно надо будет добавить файл с реэкспортами всего, что есть в библиотеке, потому что там, по ходу, все экспорты компонентов дефолтные. Плюс там свои хтмл теги, не знаю насколько это удобно.
OrbiJ, добавлю свои 5 копеек. Если я правильно понял, ты хочешь провалидировать ответ сервера, но тут проблема в том, что ты применяешь опыт строго типизированного ООП языка к мультипарадигменному языку с динамической типизацией и слабо реализованными классами.
То, что ты хочешь, делается любым схема валидатором (к примеру: https://www.npmjs.com/package/zod ). Из него уже достаётся непосредственно тип. И классы тут вот вообще ненужны. Они могут быть обёрткой для всего этого, но не более. Тем более не определять тип. Потому что данные — это объекты.