🔥

Тред (@oleg008-2)


А кто здесь собственно пользовался уже любой cssinjs библиотекой?

Это всегда было фантазией, которую породило наличие отдельных языков под эти три задачи.

К сожалению веб платформа никогда не предоставила возможности чисто разделять все эти вещи.

CSS использует селекторы, которые прописаны в html а также использует его структуру.

Плюс в js мы обычно также используем селекторы чтоб манипулировать DOM.

Вот и получается хоть еще 10 языков специализированных изобретай, сущности не разделены, ничего хорошего не будет.

Что делает React + JSS: стили, структура html и логика по манипуляции html кладется рядом. Разделение по языкам игнорируется.

Зато разделяем все сущности очень четко. Сущность которая отвечает за отображение - один компонент с очень простым интерфейсом.

Сущность которая отвечает за какую то специфическую логику, назовем ее "бизнес" опять таки отдельный компонент или функции.

Сущность которая отвечает за работу с сервером, посылает запросы, обрабатывает данные итд - отдельно.

Вобщем вместо того чтоб плодить языки, мы плодим сущности. И тем самым добиваемся более высокое переиспользование кода.

Количество необходимых сущностей можно определять гибко, по задаче. Не везде нужен редукс, не везде jss.

все так фокусируются на том чтоб тщательно вытереть пыль и натереть до блеска что забывают что это машина у которой совсем другие задачи.

Все остальное вообще похуй)

Когда мы можем легко понять код, мы мы можем легко его исправить, выкинуть, заменить итд.

Это самый важный фактор который делает программы и быстрыми и стабильными.

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