
Вася
02.06.2017
13:31:57
давно на нем не писал, года 2

Vladimir
02.06.2017
13:32:35
Привет всем! Поделитесь плиз опытом в styled-components. Есть ли какой-то бэст-практис по именованию застайленых тэгов-компонентов? Как вы отличаете полноценный компонент от просто застилизованного дива?

Сергей
02.06.2017
13:32:55

Вася
02.06.2017
13:33:09

Google

Вася
02.06.2017
13:33:11
мы так делаем
что бы в реакт тулсе видно было

Сергей
02.06.2017
13:33:23

Вася
02.06.2017
13:33:32
ну у нас не всегда совпадают
плюс мы не делали eject из create-react-app

Сергей
02.06.2017
13:33:45

Вася
02.06.2017
13:33:46
осознанно
так сложилось

Сергей
02.06.2017
13:33:59
лол. нуок

Вася
02.06.2017
13:34:28
поэтому юзаем ту инфраструктуру, которую дает create-react-app.
ну и это не наш выбор так-то

Сергей
02.06.2017
13:34:32
я юзаю npmjs.com/babel-plugin-styled-name для автоименования и стараюсь держать все консистентно

Вася
02.06.2017
13:35:17
че там кстати, на второй styled-components когда флоутайпы появятся?
надо ж уже обновлятся

Google

Сергей
02.06.2017
13:35:25

Вася
02.06.2017
13:35:33
не было ж еще недавно
мы поэтому не спешим
лол
или я чего-то не знаю?

Stepan
02.06.2017
13:36:23
Спасибо

Вася
02.06.2017
13:36:40
;)

Vladimir
02.06.2017
13:36:54
ок, допустим вы делаете компонент, который назвали SuperHernya. Как бы вы назвали застайленый корневой див?

Сергей
02.06.2017
13:37:33
у меня каждый компонент несет в себе определенную ценность. я составляю библиотеку компонентов (визуальных) и их потом использую в функциональных компонентах

Вася
02.06.2017
13:41:23
я думаю тут нет каких-то практик
пока еще

Сергей
02.06.2017
13:41:58
есть рекомендации

Вася
02.06.2017
13:42:03
покаж

Сергей
02.06.2017
13:42:08
кто умеет в ts?

Вася
02.06.2017
13:42:18
молчание...
@aleh_atsman ты ж на ts колбасил недавно

Konstantin
02.06.2017
13:43:29

Сергей
02.06.2017
13:43:44

Вася
02.06.2017
13:44:06

Google

Сергей
02.06.2017
13:44:38
дай ссылку плез
https://www.smashingmagazine.com/2017/01/styled-components-enforcing-best-practices-component-based-systems/

Konstantin
02.06.2017
13:44:52

Вася
02.06.2017
13:46:07

Semen
02.06.2017
13:46:40

Сергей
02.06.2017
13:47:44

Вася
02.06.2017
13:48:15
чет опасная какая-то либа
ноль старов
аа, она твоя
ну тогда норм

Сергей
02.06.2017
13:48:46

Вася
02.06.2017
13:48:52
я в плане что если например styled-components меняет api, не факт что мэйнтер будет ее обновлять
своевременно

Вася
02.06.2017
13:49:13
а так, если сам юзаешь и сам написал - норм

Сергей
02.06.2017
13:49:24

Вася
02.06.2017
13:49:33
ну сорян, не углублялся

Сергей
02.06.2017
13:49:37
https://github.com/LestaD/babel-plugin-styled-name
тут же есть стары)
и тут
https://github.com/LestaD/styled-normalize
но суть не в старах
я же популяризую
пишу для себя, если кто нашел, тоже юзает

Вася
02.06.2017
13:50:24
да я понял
я выше написал почему опасно

Google

Вася
02.06.2017
13:50:35
если так - то норм конечно

Сергей
02.06.2017
13:51:01
лол)))

Вася
02.06.2017
13:51:29
ну бля, не посмотрел я что она делает
четы уже издеваешься
я думал онли для styled

Сергей
02.06.2017
13:51:47

Вася
02.06.2017
13:51:58
не, тогда подробнее

Сергей
02.06.2017
13:52:17
если мейнтейнер обновляет api, то и у себя обновлять эту либу тоже опасно, хоть юзаешь ли ты что-то левое или не юзаешь

Vladimir
02.06.2017
13:52:33

Admin
ERROR: S client not available

Вася
02.06.2017
13:52:46
смотри, я выбираю styled-components, еще что-то. и хочу придерживать зависимости как можно более ближе к текущей версии, то есть пытаться своевременно их обновлять
когда я выбираю тулзу которая не подкреплена мало мальским комьюнити или более менее известным мэйнтером - я рискую. особенно когда либа зависит от другой либы
в этом ключе

Сергей
02.06.2017
13:59:29

Вася
02.06.2017
13:59:44
не, так это круто, я не спорю

Сергей
02.06.2017
13:59:46
не используй табы! НИКОГДА!

Вася
02.06.2017
13:59:58
вот смотри
та говоришь, лол, есть же babel-plugin-styled-name
я смотрю первый коммит - 20 дней назад

Google

Вася
02.06.2017
14:00:23
проект мы начинали больше 2 месяцев назад

Mike
02.06.2017
14:00:27

Вася
02.06.2017
14:00:37
соответственно тогда этот плагин еще не написал
так что ни разу не лол

Vladimir
02.06.2017
14:00:49

Сергей
02.06.2017
14:01:28
Тут у тебя прооблема раздробленности, что у тебя в каждом компоненте будет уникальный Title и Content?
ты получается пишешь дофига вспомогательных компонентов для каких-то комплексных компонентов
у тебя в итоге будет куча копипасты из компонента в компонент

Вася
02.06.2017
14:03:31
гоферы кстати все почти табы юзают

Mike
02.06.2017
14:03:52
а там gofmt просто табы делает

Vladimir
02.06.2017
14:04:01


Сергей
02.06.2017
14:05:24
А по теме?)
предлагаю тебе посмотреть на методологию AtomicDesign (@atomicdesign)
Идея заключается в том, что ты проектируешь сначала: составляешь список атомов — простых компонентов, которые есть во многих других компонентах, как например в твоем Post
Ты можешь StyledPost переименовать в что-то вроде Card, ведь это может быть не единственный компонент с шириной 100px
StyledPostAuthor — может стать Heading или Title с параметрами, и реиспользоваться ещё где-нибудь
StyledPostContent — также может именоваться например TextContent и иметь свои пропсы форматирования (простого)
и в конечном смысле у тебя получится очень простой компонент, в данном случае это будет organism, так как композирует конечный компонент, который можно много где юзать

Vladimir
02.06.2017
14:06:25
Понял, посмотрю. Спасибо!

Вася
02.06.2017
14:06:57
тут тоже палка о двух концах. мы короче как делаем. если у нас например есть компонент с именем Post и там есть Title c уникальным для проекта css - он до поры лежит вместе с Post как PostTitle. как только появляется момент, когда этот код нуно переиспользовать - он уезжает в другое место в отдельынй файлик

Сергей
02.06.2017
14:06:59

Вася
02.06.2017
14:07:03
ну это мы так решили
хз, правильно это или нет
но нам показалось логичным так делать

Сергей
02.06.2017
14:08:26
мы уже так разрабатывали, но в итоге получается, что мало кто может вспомнить, есть ли именно такой компонент в проекте или нужно новый уникальный запилить
как перешли в новом проекте на atomicdesign такие проблемы ушли

Вася
02.06.2017
14:08:56
гхм, вот думаю, на сколько сложно будет это дело у нас сейчас вынести
идея хорошая на самом деле

Mike
02.06.2017
14:12:35
неужели атомик дезайн настолько неочевидные проблемы создает, что по нему отдельный чат нужен?

Вася
02.06.2017
14:14:12
жалко у меня нет истории в тему атомик дизайна

Сергей
02.06.2017
14:14:13

Mike
02.06.2017
14:14:34
например? (про сложность)