Size: a a a

JavaScript.Ninja

2021 February 12

DP

Dmytro Petunenko in JavaScript.Ninja
Не, не так )
У нас на проекте при текущем сетапе модули это боль )
источник

VS

Vitaly Sazonov in JavaScript.Ninja
я раньше модули использовал, вроде проблем особо не наблюдал. Хотел потыкать styled components, но не понял про вывод. В Css файл все преобразуется или в inlineCss
источник

DP

Dmytro Petunenko in JavaScript.Ninja
Vitaly Sazonov
а почему?
В основном потому что у нас микс стилей, юай кит (типа), инкапсуляции и ютилити и все это очень сложно дружить, когда styleName, когда className, когда утилиты
Впрочем конечно стайлед возможно и не решат всех наших проблем, но хочется верить что сделают жизнь простого разработчика чуть проще
источник

II

Ilya Izilanov in JavaScript.Ninja
Vitaly Sazonov
уважаемые, подскажите, а styled components транспилируются в css файлы при сборке или остаются inline css?
ни то ни другое, в рантайме появляются классы и стили к этим классам
источник

VS

Vitaly Sazonov in JavaScript.Ninja
все таки модули будут интереснее?!
источник

II

Ilya Izilanov in JavaScript.Ninja
смотря что такое интереснее
источник

VS

Vitaly Sazonov in JavaScript.Ninja
Ilya Izilanov
смотря что такое интереснее
производительней
источник

II

Ilya Izilanov in JavaScript.Ninja
модули
источник

DP

Dmytro Petunenko in JavaScript.Ninja
Честно говоря мне все равно как это выглядит на проде, инлайн или классы
Инлайн работает быстрее всего? значит пусть будет инлайн
А вот то как это представлено во время разработки и как это можно организовать хорошо что бы шарить между разными частями системы, вот это уже вопрос, и в этом плане styled components мне ближе потому что может быть единая библиотека юайных компонентов, но на месте использования можно их поменять если того требует задача
источник

VS

Vitaly Sazonov in JavaScript.Ninja
Инлайн медленее работает
источник

VS

Vitaly Sazonov in JavaScript.Ninja
Лучше всего работает чистый css
источник

DP

Dmytro Petunenko in JavaScript.Ninja
Чистый? Это как? отдельный файл? Какого размера? по частям или общий для всех
А его загрузка ?
источник

AP

Alexey Pan in JavaScript.Ninja
Инлайн рботает быстрее, только за счет того что нет доп запроса, т.е. стили долетают с html. Но вы отказываетесь от кеширования.
источник

AP

Alexey Pan in JavaScript.Ninja
Мой выбор - не использовать инлайн =)
источник

II

Ilya Izilanov in JavaScript.Ninja
плюс сам html разбухает
источник

II

Ilya Izilanov in JavaScript.Ninja
и не выразить hoverы
источник

YS

Yuri Strelets in JavaScript.Ninja
Dmytro Petunenko
Честно говоря мне все равно как это выглядит на проде, инлайн или классы
Инлайн работает быстрее всего? значит пусть будет инлайн
А вот то как это представлено во время разработки и как это можно организовать хорошо что бы шарить между разными частями системы, вот это уже вопрос, и в этом плане styled components мне ближе потому что может быть единая библиотека юайных компонентов, но на месте использования можно их поменять если того требует задача
а что понимается под инлайн? в моем понимании инлайн это style внутри тега, а styled просто добавляет в райнтайме скомпилированные стили в виде style тегов в хед, а элементы содержат сгенеренные классы
источник

VS

Vitaliy Stoliarov in JavaScript.Ninja
Почему реакт с хуками съедает исключение и его сообщение? это так задумано или просто косяк?

Простой пример:

function Test() {
 const [a, setA] = useState(false)
 if (a) {
   throw new TypeError('test')
 }

 return <button onClick={() => setA(true)}> test</button>
}

По клику на кнопку в самом компоненте должно вылететь исключение в консоли, но вместо этого получаю неинформативную ошибку (на скриншоте) и ниже Uncaught Error Rendered more hooks than during the previous render

Но никакого TypeError в консоль не выводит
источник

NM

Nursultan Moldobaev in JavaScript.Ninja
Vitaliy Stoliarov
Почему реакт с хуками съедает исключение и его сообщение? это так задумано или просто косяк?

Простой пример:

function Test() {
 const [a, setA] = useState(false)
 if (a) {
   throw new TypeError('test')
 }

 return <button onClick={() => setA(true)}> test</button>
}

По клику на кнопку в самом компоненте должно вылететь исключение в консоли, но вместо этого получаю неинформативную ошибку (на скриншоте) и ниже Uncaught Error Rendered more hooks than during the previous render

Но никакого TypeError в консоль не выводит
А так можно менять? а имутабильный его через setA только менять можно
источник

VS

Vitaliy Stoliarov in JavaScript.Ninja
Nursultan Moldobaev
А так можно менять? а имутабильный его через setA только менять можно
это пример, чтобы спровоцировать TypeError, так само можно было прописать throw new TypeError('')
источник