@react_js

Страница 2178 из 5115
Kolyamba
20.09.2017
16:01:35
о, через hash наверное сделаю ) не уверен, что на хостинге можно что-то настроить, он бичесвкий совсем. спасибо

Play
20.09.2017
16:24:17
Для SEO какую либу сечас юзают повсеместно?

Egor
20.09.2017
16:24:38
react-helmet

Play
20.09.2017
16:29:41
react-helmet
спасибо

Google
Дмитрий
20.09.2017
16:36:51
:(
Во во ? Я к тому моменту уже успел обнадёжиться, мол щас как упрощу всё) Ичсх, там есть refine, позволяющий "вывести" тип, но он оказывается полностью бесполезен ? Шаг влево шаг вправо — расстрел

Зря только к нему тайпинги для флоу сделал)

Kirill
20.09.2017
17:27:47
Камрады, использующие стайлед, что юзаете для сеток?

Или проще самому сделать?..

Сергей
20.09.2017
17:35:12
парни, что быстрее работает и есть ли в них разница? ids.map(id => <Item id={id} />) vs ids.map(id => <div><SomeComponent id={id} /></div>)

интересует ререндер при изменении ids, будет ли разница если выставление ключей будет одинаковым?

в первом случае в Item такое же содержание, как в div

но в первом реальный компонент, а во втором просто div из лупа

Сергей
20.09.2017
17:46:06
одно с враппером в <div>, а другое нет?
Item внутри такой же, как div во втором случае

я так понимаю сравнение идет все равно по key и разницы вроде нет

Сергей
20.09.2017
17:46:33
ты кстати им key не передал

кстати

Google
Сергей
20.09.2017
17:46:40
второй вариант не сработает

будет варн

нужно ставить key на <div>

Сергей
20.09.2017
17:47:06
ты кстати им key не передал
забыл упомянуть, что key будет и в обоих случаях одинаков

Bogdan
20.09.2017
17:49:15
ну и в первом случае key нужен

Max
20.09.2017
18:43:16
с мобх меньше бойлерплейта?
Дело не в самом болерплейте, мобикс в отличии от редакса предлагает уникальные фичи при работе с состоянием - возможность создавать ссылки между объектами а если вкратце то а это позволяет удобно работать с состоянием приложения как с бизнес-сущностями. Например есть такая бизнес-логика обычного приложения менеджера задач - у юзера может быть много папок, у каждой папки может быть много проектов, у каждого проекта может быть много тасков и у каждого таска может быть много комментариев и каждый комментарий также может иметь много реплаев (получается дерево комментариев) и соотвественно каждую сущность можно создать, отредактировать или удалить. С мобиксом как мы описали бизнес-сущности и связи one-to-many или many-to-many, так мы и и храним - объект юзера хранит массив объектов-папок, внутри папки будем хранить массив объектов-проектов, внутри проекта будем хранить массив объектов-тасков а в объекте таска будем хранить массив объектов комментариев и внутри каждого объекта комментария храним также массив других комменатриев-реплаев. Создавать редактировать или удалять сущности очень просто - для создания просто создаем объект и пушим в массив, для удаления делаем сплайс из массива для редактирования просто изменяем одно свойство и вот таким одинаковым образом работаем как с папками так с проектами так и с более глубокими сущностями И самое главное эти сущности могут быть связаны между собой что упрощает логику в обработчиках. Например когда рендерим таски в компоненте проекта <div>{project.tasks.map(task=><Task task={task}/>)}</div> то получив в компоненте Task через пропсы только нужный объект состояния (в данном случае task) часто бывает нужно обратиться к свойству какой-то родительской сущности например project (чтобы например проверить тип или какой-то свойство перед редактированием). И тут конечно можем выдумывать различные костыли передавая через пропсы также объект project и другие родительские сущности (а это может повлечь за собой изменение других родительских компонентов) а можем просто при создании таска добавить свойство project и записать в него ссылку на проект и обратится к свойству просто через task.project.someprop. В итоге взяв за правило при создании любой сущности записывать в свойство объекта ссылку на родительскую сущность можно очень удобно обращаться ко всему состоянию независимо от уровня вложенности например получив через пропсы комментарий можно обратится к папке в котором находится комментарий - comment.task.project.folder.name и это не потребует изменения всех вышестоящих компонентов. А теперь попробуйте ответить на вопрос как бы вы разрабатывали такое приложение используя редакс? Сколько редюсеров бы вам понадобилось? Как работали бы со связями one-to-many? Особенно интересует момент с добавлением и обновлением вложенных сущностей и особенно с деревом реплаев к таску и также интересен момент когда нужно обратится к родительским сущностям в компоненте получив через пропсы только свой объект.

Dzianis
20.09.2017
18:45:38
Да, у редукса когда вложенный стейт все усложняется

А аналог middleware для сайд эффектов какое то есть?

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

Stepan
20.09.2017
18:52:34
Джон
20.09.2017
18:53:29
Ридакс
от слова "ридакция"

Enjoy the
20.09.2017
18:53:52
Это для него axios обычно используют?

Stepan
20.09.2017
18:54:23
от слова "ридакция"
Да нет, так оно и произносится

Dzianis
20.09.2017
18:54:30
Хм, в русском языке 2 способа заимствований по буквам и звукам. Вечный холивар)

Stepan
20.09.2017
18:54:33
Ридакс

illiatshurotshka❄️
20.09.2017
18:54:42


Джон
20.09.2017
18:54:55
ору

illiatshurotshka❄️
20.09.2017
18:55:11
кто-нибудь пользовался перевождем?

Алексей
20.09.2017
18:55:36
Дело не в самом болерплейте, мобикс в отличии от редакса предлагает уникальные фичи при работе с состоянием - возможность создавать ссылки между объектами а если вкратце то а это позволяет удобно работать с состоянием приложения как с бизнес-сущностями. Например есть такая бизнес-логика обычного приложения менеджера задач - у юзера может быть много папок, у каждой папки может быть много проектов, у каждого проекта может быть много тасков и у каждого таска может быть много комментариев и каждый комментарий также может иметь много реплаев (получается дерево комментариев) и соотвественно каждую сущность можно создать, отредактировать или удалить. С мобиксом как мы описали бизнес-сущности и связи one-to-many или many-to-many, так мы и и храним - объект юзера хранит массив объектов-папок, внутри папки будем хранить массив объектов-проектов, внутри проекта будем хранить массив объектов-тасков а в объекте таска будем хранить массив объектов комментариев и внутри каждого объекта комментария храним также массив других комменатриев-реплаев. Создавать редактировать или удалять сущности очень просто - для создания просто создаем объект и пушим в массив, для удаления делаем сплайс из массива для редактирования просто изменяем одно свойство и вот таким одинаковым образом работаем как с папками так с проектами так и с более глубокими сущностями И самое главное эти сущности могут быть связаны между собой что упрощает логику в обработчиках. Например когда рендерим таски в компоненте проекта <div>{project.tasks.map(task=><Task task={task}/>)}</div> то получив в компоненте Task через пропсы только нужный объект состояния (в данном случае task) часто бывает нужно обратиться к свойству какой-то родительской сущности например project (чтобы например проверить тип или какой-то свойство перед редактированием). И тут конечно можем выдумывать различные костыли передавая через пропсы также объект project и другие родительские сущности (а это может повлечь за собой изменение других родительских компонентов) а можем просто при создании таска добавить свойство project и записать в него ссылку на проект и обратится к свойству просто через task.project.someprop. В итоге взяв за правило при создании любой сущности записывать в свойство объекта ссылку на родительскую сущность можно очень удобно обращаться ко всему состоянию независимо от уровня вложенности например получив через пропсы комментарий можно обратится к папке в котором находится комментарий - comment.task.project.folder.name и это не потребует изменения всех вышестоящих компонентов. А теперь попробуйте ответить на вопрос как бы вы разрабатывали такое приложение используя редакс? Сколько редюсеров бы вам понадобилось? Как работали бы со связями one-to-many? Особенно интересует момент с добавлением и обновлением вложенных сущностей и особенно с деревом реплаев к таску и также интересен момент когда нужно обратится к родительским сущностям в компоненте получив через пропсы только свой объект.
так же как и в реляционных базах делаются связи, через поле, например с id

Google
Сергей
20.09.2017
18:56:56
что-то подзаебал redux, кажется пора попробовать mobx

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

Сергей
20.09.2017
18:58:07
рекомпоз нихера не может

Котяй Негодяй
20.09.2017
18:58:25
Ой всё.

Сергей
20.09.2017
18:58:51
попробуйте продебажить а ну тупо пихать куда попало рекомпоз хелперы

Котяй Негодяй
20.09.2017
18:58:54
Редукс... Бля
Редуктор.

И ваще я не понял предложение.

Сергей
20.09.2017
18:59:56
Редуктор.
Убивать

Сергей
20.09.2017
19:00:12
в рекомпоз еще такая вложенность, что пиздец покажется добрым словом когда увидишь цепочку вызовов в каком-нибудь сложном контейнере, которого есть штук 200 на странице

это все компоненты и хреновы анмаунты когда начинаешь перемещаться между страницами/списками

Котяй Негодяй
20.09.2017
19:00:58
попробуйте продебажить а ну тупо пихать куда попало рекомпоз хелперы
Ну, сунул в композицию withProps(console.log), если очень хочется.

Сергей
20.09.2017
19:02:33
иногда дешевле is-hidden убрать/добавить чем делать маунт/анмаунт

Котяй Негодяй
20.09.2017
19:02:50
Пруф, что это существенно.

Google
Алексей
20.09.2017
19:03:23
это все компоненты и хреновы анмаунты когда начинаешь перемещаться между страницами/списками
позволь поинтересоваться, ты вот сегодня весь день про перфоманс говоришь, вы что там такого разрабатываете? правда интересно

Котяй Негодяй
20.09.2017
19:04:02
Если контейнеров много на странице, то это дерьмо
Или много контейнеров, или компоненты, как дикообразы, утыканные пропсами.

Котяй Негодяй
20.09.2017
19:04:38
Сергей
20.09.2017
19:04:55
Сергей
20.09.2017
19:05:03
Котяй Негодяй
20.09.2017
19:05:07
Алексей
20.09.2017
19:05:19
Котяй Негодяй
20.09.2017
19:05:30
Значит у вас все плохо с проектированием
Т.е. когда много данных — это плохо с проектированием?

Котяй Негодяй
20.09.2017
19:06:14
Сова, ты стал слишком горазд на быстрые (дешёвые по перфомансу) умозаключения. Так мозги могут и подзастыть. =)

Сергей
20.09.2017
19:06:20
Когда куча пропс

Котяй Негодяй
20.09.2017
19:07:18
Когда куча пропс
Придётся выбирать: либо куча пропсов, либо куча контейнеров.

Не, ну код-сплиттинг никто не отменял, но это же совсем про другое.

Сергей
20.09.2017
19:08:32
Придётся выбирать: либо куча пропсов, либо куча контейнеров.
Каждый компонент должен делать что-то одно

Сергей
20.09.2017
19:08:36
пропсов как можно меньше ставим, дело не в них, а в больших массивах данных

Котяй Негодяй
20.09.2017
19:09:07
Каждый компонент должен делать что-то одно
Согласен. Например, Root компонент.

Сергей
20.09.2017
19:11:22
Согласен. Например, Root компонент.
А потом люди ноют что ридакс это плохо

Котяй Негодяй
20.09.2017
19:11:40
Google
Котяй Негодяй
20.09.2017
19:12:06
У меня кнопка логаут может быть завёрнута в контейнер.

Страница 2178 из 5115