
Vladimir
14.02.2017
08:07:42
я советовал css-in-js
но никак не ?
я выбрал jss
самый простой вариант

Google

Vladimir
14.02.2017
08:09:02
styled-components добавляет лишние абстракции
хз зачем они
плюс мешает нормальной работе со стилями
const styles = {
button: merge(basic, { /*…*/ })
}

Сергей
14.02.2017
08:10:17

Gordey
14.02.2017
08:10:34
/*…*/ норм смайл

Vladimir
14.02.2017
08:10:53
компоненты вместо просто стилей

Сергей
14.02.2017
08:11:00

Vladimir
14.02.2017
08:11:10
ну это debatable

Сергей
14.02.2017
08:11:28
компоненты вместо просто стилей
так именно, чаще всего и используются компоненты, в который прокидывается тонна разных классов. поди разберись, как это работает потом

Vladimir
14.02.2017
08:11:44
если смотришь на css-in-js, то смотри на jss

Google

Сергей
14.02.2017
08:13:40
да дело не только в этом. Когда писал на JSS чувствовал как у меня искривляются пальцы
Жесть как неудобно... везде ставишь эти кавычки строк, запятую не забыть.
Привыкаешь конечно, но пальцы как будто дверью придавило

Vladimir
14.02.2017
08:14:07
ну хз
обычный джс

Brs
14.02.2017
08:14:40
срач про вкусовщину - не круто

Джон
14.02.2017
08:16:05

Vladimir
14.02.2017
08:16:25
ограничение возможности работы css-in-js решением (styled-components) как с обычным джс (merge) это не вкусовщина

Сергей
14.02.2017
08:17:07
да хрен знает
Меня напрягает везде прокидывать className и прочее
мержить стили для того, чтобы изменить что-либо в стилях
либо добавлять классы дополнительные, вроде с обычным css уже прошли это
Тут приходит абстракция, которая дает тебе каждый компонент как самостоятельную единицу и инкапсулирует стили(view) внутри себя, все начинают говорить что лишнее
ломать глаза об тонну кода который только усложняет чтение простого компонента, это как-то,..


Regina
14.02.2017
08:18:37
сорри что вторгаюсь в увлекательную беседу, но у меня сломался мозг. Хэлп:
есть список постов <PostListNav/> с ссылками <Link /> на детальные страницы постов <Post/>.
При переходе по ссылке отрабатывает react-router v3, подгружая содержимое поста в блок на той же странице.
<Route path="post" component={PostListNav}>
<Route path=":id" component={Post}/>
</Route>
Проблема в том, при таком подходе, посты подгружаемые по клику на /post/1, /post/2 etc - не 2 копии одного компонента, а один компонент с разным содержимым. Т.е. инфа передаваемая через пропсы уникальная для каждого поста, а вот state один.
В итоге, если изменить state поста на /post/1, он автоматически меняется и для /post/2.
Что я делаю не так?

KlonD90
14.02.2017
08:19:38

Сергей
14.02.2017
08:19:55

Vladimir
14.02.2017
08:20:24

Brs
14.02.2017
08:20:24
сорри что вторгаюсь в увлекательную беседу, но у меня сломался мозг. Хэлп:
есть список постов <PostListNav/> с ссылками <Link /> на детальные страницы постов <Post/>.
При переходе по ссылке отрабатывает react-router v3, подгружая содержимое поста в блок на той же странице.
<Route path="post" component={PostListNav}>
<Route path=":id" component={Post}/>
</Route>
Проблема в том, при таком подходе, посты подгружаемые по клику на /post/1, /post/2 etc - не 2 копии одного компонента, а один компонент с разным содержимым. Т.е. инфа передаваемая через пропсы уникальная для каждого поста, а вот state один.
В итоге, если изменить state поста на /post/1, он автоматически меняется и для /post/2.
Что я делаю не так?
все правильно делаешь, зачем тебе стейт для неактивного поста?

Regina
14.02.2017
08:21:45
@brs_mdrk в постах есть кнопка лайк. Кол-во лайков считаю через state. Если кликнули по посту +1.
в итоге кликаю по одному посту, все остальные тоже становятся активными

KlonD90
14.02.2017
08:22:22
Ну там убрать дублирующие свойства скомпоновать это в короткий css файл
Это все таки статическая операция на билде


Regina
14.02.2017
08:24:25
при этом я просто вывела на тестовой странице все посты (просто через map) и все работает без проблем, так как каждый пост независимая копия компонента Post

Сергей
14.02.2017
08:24:33

Google

Vladimir
14.02.2017
08:24:58
у активного { active: true }

Dreamerinnoise
14.02.2017
08:25:33
я выбрал jss
https://github.com/cssinjs/jss/issues/356#issuecomment-279438410
следишь за этой темой?

Vladimir
14.02.2017
08:25:45
по лайку добавляй лайк в активный пост
например

KlonD90
14.02.2017
08:26:05
Я обычно делаю что на операции id и дальше проверку ид на редусере.

Andrew
14.02.2017
08:26:33

Vladimir
14.02.2017
08:26:49

Andrew
14.02.2017
08:27:12

KlonD90
14.02.2017
08:27:13
Я себе такого позволить не могу

KlonD90
14.02.2017
08:28:18
Редакс в помощь?

Сергей
14.02.2017
08:28:19

KlonD90
14.02.2017
08:28:36

Сергей
14.02.2017
08:28:47

Vladimir
14.02.2017
08:28:47

Andrew
14.02.2017
08:28:53

Сергей
14.02.2017
08:28:57

Vladimir
14.02.2017
08:29:07

Google

Сергей
14.02.2017
08:29:11

KlonD90
14.02.2017
08:29:41
хрень несешь?
Ну ты попробуй 1000 элементов отрендерить. Только без хамства плиз

Regina
14.02.2017
08:29:46
Andrew @iamstarkov т.е. если компонент вложенный (в роутере) то state передается от одной странице другой и это норма?

KlonD90
14.02.2017
08:29:46
:/

Сергей
14.02.2017
08:29:51

Andrew
14.02.2017
08:29:55
У меня nextcss(postcss) на серваке

Vladimir
14.02.2017
08:30:00

Andrew
14.02.2017
08:30:14
А, ну там инвайты у меня)

Admin
ERROR: S client not available

Vladimir
14.02.2017
08:30:37
то всё держится в памяти

KlonD90
14.02.2017
08:30:51
кеширование
Ну вот вопрос сколько эндпоинтов нужно дернуть в одно время чтобы у тебя умер сайт?

Сергей
14.02.2017
08:31:10

Vladimir
14.02.2017
08:31:13
и всё, не только стейт сохраняется между страницами

Сергей
14.02.2017
08:31:13
что?

Andrew
14.02.2017
08:31:21

KlonD90
14.02.2017
08:31:44

Andrew
14.02.2017
08:32:04

Сергей
14.02.2017
08:32:24

KlonD90
14.02.2017
08:32:32
Ну в случае 1000+ элементов одна Нода молотит 3 рендера в минуту

Google

Сергей
14.02.2017
08:32:43
ты как-то хреново всё настроил)
без обид
да и 1000+ элементов, это достаточно хреново))

Vladimir
14.02.2017
08:33:15
Мы ведь про ридакс стор

Andrew
14.02.2017
08:33:28
А
Ааа
Я думал про стейт

Vladimir
14.02.2017
08:33:48
Как минимум я

KlonD90
14.02.2017
08:33:54

Сергей
14.02.2017
08:34:08

Andrew
14.02.2017
08:34:11
@brs_mdrk в постах есть кнопка лайк. Кол-во лайков считаю через state. Если кликнули по посту +1.
в итоге кликаю по одному посту, все остальные тоже становятся активными

Dreamerinnoise
14.02.2017
08:34:17

Сергей
14.02.2017
08:34:23

Dreamerinnoise
14.02.2017
08:34:26
Но мы такое переписали на канвас

Andrew
14.02.2017
08:34:29
Вроде как речь за стейт

Dreamerinnoise
14.02.2017
08:34:31
стало легче и быстрее

Regina
14.02.2017
08:34:44
Andrew @iamstarkov @klond90 Большое спасибо! Прояснилось теперь :) Я думала, что по умолчанию создается новый объект под каждый пост.

Andrew
14.02.2017
08:34:46
Регин, у тебя редакс есть?

Сергей
14.02.2017
08:34:49
Нужно
отрендерил первые 30-50
остальное на клиенте подтягиваешь