@react_js

Страница 923 из 5115
Dmitry
09.02.2017
10:16:22
Но при этом все в глобальном сторе. Это как делать валидацию формы через запросы к бэку всегда, вместо валидации на фронте и на бэке. Зато one source of truth.

Алексей
09.02.2017
10:16:46
@draedful +1

что плохого в валидации на бэке?

Dmitriy
09.02.2017
10:17:07
Как подменить контекст в компоненте? Вот тут стор редукса передается через context, мне надо подменить в нем кое-что https://github.com/makeomatic/redux-connect/blob/master/modules/components/AsyncConnect.js

Google
Dmitry
09.02.2017
10:17:29
что плохого в валидации на бэке?
То, что валидировать можно в риалтайме и не всегда делать запросы.

Andrew
09.02.2017
10:17:36
Глобальный стейт - для состояния системы в целом. Если он начнет отвечать за все компоненты системы - то управлять им будет намного сложнее

Алексей
09.02.2017
10:17:43
ну эт от требований зависит

Andrew
09.02.2017
10:18:07
Кроме того DB разделена на таблицы/документы/ноды. Так что там так же есть свои разделения. DB - провайдер.

Алексей
09.02.2017
10:18:13
ну я бы так не сказал

Dmitry
09.02.2017
10:18:21
В сторе имхо должно быть только то, что требуется для нескольких компонентов из разных частей приложения, чтобы не пробрасывать от парента руками.

Олег
09.02.2017
10:19:30
А данные?

Алексей
09.02.2017
10:20:02
так, ок, и в чем разница между стэйтом и данными?

Олег
09.02.2017
10:20:12
Ни в чем имхо

Алексей
09.02.2017
10:20:17
я вот не понял аналогию, глобальный стэйт и db

Google
Алексей
09.02.2017
10:20:20
это одно и то же

у тебя всегда есть стэйт

в любой момент времени

и либо он размазан

либо в одном месте

и когда ты активно разрабатываешь ты не знаешь когда тебе могут понадобится какие то данные

из другой части системы

и это ведет к связанности

если это не в сторе

где ты как раз абстрагируешься от этого

Andrew
09.02.2017
10:21:52
и когда ты активно разрабатываешь ты не знаешь когда тебе могут понадобится какие то данные
Some common rules of thumb for determing what kind of data should be put into Redux: Do other parts of the application care about this data? Do you need to be able to create further derived data based on this original data? Is the same data being used to drive multiple components? Is there value to you in being able to restore this state to a given point in time (ie, time travel debugging)? Do you want to cache the data (ie, use what's in state if it's already there instead of re-requesting it)?

Dmitry
09.02.2017
10:22:35
Взять тот же любимый всеми пример с дропдауном. У тебя сотня дропдаунов в приложении и приложению пофиг на то, открыты ли они. Если вдруг появляется один дропдаун с бизенс логикой, который на открытие что-то еще снаружи меняет - сделай флажок в сторе, за которым будешь следить и меняй его при открытии.

Олег
09.02.2017
10:22:37
Тут вопрос стоял просто иначе "насколько мелкие события имеет смысл обрабатывать через Redux")

Все согласны про дропдаун

Алексей
09.02.2017
10:23:21
@BananaBobby про дропдаун мы уже все выяснили, и говорю, это исключение из правил

Олег
09.02.2017
10:23:28
Насколько больше должно быть что-то, чтобы попасть в стейт

стор*

Алексей
09.02.2017
10:24:30
лично я пишу все в стор, за исключением того, когда понятно что затраты на это того не стоят. скажем тот же дропдаун

Dmitry
09.02.2017
10:24:36
В остальном ты можешь делать как тебе удобнее и выбирать, что важнее. Или удобно все переписывать или сидеть со стором нормального размера.

Алексей
09.02.2017
10:24:44
и то, например на модалки у меня в сторе хранятся

Google
Andrew
09.02.2017
10:24:58
@BananaBobby про дропдаун мы уже все выяснили, и говорю, это исключение из правил
У нас есть чат, на 3000 сообщений, любое сообщение может быть отредактировано, но в один момент времени должно редактироваться только 1 сообщение. Должен ли я хранить идентификатор сообщения в сторе или в локальном стейте родительского компонента?

Олег
09.02.2017
10:25:10
В сторе конечно

Andrew
09.02.2017
10:25:25
Олег
09.02.2017
10:25:30
Флаг туда еще

Алексей
09.02.2017
10:25:35
потому что это связь

Gleb
09.02.2017
10:26:04
все паттерны, практики, внедрения перевнедрение зависимостей, возникают только с целью переиспользования , если дропдаун или цвет кнопки зависит только от состояния компонента, то зачем в стор то пихать

Andrew
09.02.2017
10:26:36
Dmitry
09.02.2017
10:26:39
Я бы держал в сторе хоть какое-то упоминание о том, что сообщение редактируется.

В завимисости от этого может меняться интерфейс других компонент

Олег
09.02.2017
10:27:56
Gleb
09.02.2017
10:28:05
Ну так и рефакторить когда он действительно нужен будет, интересней вопрос как группировать стор? скажем только по рутовым компонентам или по сущностями, или еще как то

Dmitry
09.02.2017
10:28:10
Куда?

Алексей
09.02.2017
10:28:41
к тому же сращивать локальный стэйт и стор это та еще муть. все наверно видели ужасный хук componentWillReceiveProps когда переписывается локальный стэйт

Dmitry
09.02.2017
10:28:44
Так и до корня приложения дойдет. В общем мы дойдем до того, что редакс не нужен)

Алексей
09.02.2017
10:29:14
ну вообще стор не должен зависить от интерфейса

это доменная модель

и она должна быть нормализована

блин, это же как база данных

Алексей
09.02.2017
10:29:51
есть селекторы, в которых ты приводишь данные в нужный вид по связям

Google
Олег
09.02.2017
10:30:08
И по сущносятм разбито все на первом уровне

Алексей
09.02.2017
10:31:37
кстати, было тут про God Object

щас только допер

Andrew
09.02.2017
10:31:51
Алексей
09.02.2017
10:31:52
как бы стэйт не принимает никакие решения

а смысл God Object-а в том что он принимает решения

это просто тупо данные

так что я имел ввиду что компонент который держит в себе данные и как то манипулирует ими то он берет на себя слишком много

Admin
ERROR: S client not available

Yuri
09.02.2017
10:37:22
а вот если дропдаун по клику делает http-запрос и подгружает список стран? В стор?

Алексей
09.02.2017
10:38:27
а че это он сам http-запрос дергает?

он что в себе доменную логику содержит что ли)

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

Yuri
09.02.2017
10:40:46
я редух с ангуляром использую, поэтому это компонент, который дергает сервис, который дергает запрос

Алексей
09.02.2017
10:41:42
ну я не знаю как с ангуляром конечно, но у меня сразу родился кейс, два таких дропдауна на разных страницах

Yuri
09.02.2017
10:41:43
ну или нужно делать через Action'ы

Алексей
09.02.2017
10:41:49
так что конечно стор

Владислав
09.02.2017
10:47:55
Привет всем! Сложно ли подружить react-router с Laravel?

Yuri
09.02.2017
10:48:44
ну, если на нем написать только REST API , то почему нет

Владислав
09.02.2017
10:48:52
Если просто переходить по ссылкам то роутер нормально отрабатывает, но если обновить страницу через f5, то Laravel выкидывает ошибку NotFoundHttpException

Google
Алексей
09.02.2017
10:52:51
@vladonxp а он точно все url-ы кроме апихи на / переводит где index.html отправляется?

Gleb
09.02.2017
10:53:08
Yuri Во годно, спасибо) Сами так же группируете?

Yuri
09.02.2017
10:53:24
пытаюсь, ага

Владислав
09.02.2017
10:54:14
@vladonxp а он точно все url-ы кроме апихи на / переводит где index.html отправляется?
к сожалению у меня туговато с конфигурированием htaccess

в корне лежит .htaccess

<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>

все запросы уходят на public

Vladimir
09.02.2017
10:55:32
давайте конфигурирование апача/нгинкса вынесем за пределы чата

Алексей
09.02.2017
10:55:45
вот из того же разряда статья https://hackernoon.com/avoiding-accidental-complexity-when-structuring-your-app-state-6e6d22ad5e2a#.4xv0orw77

Vladimir
09.02.2017
10:55:59
это ни реакт, ни около реакт и даже ни го

Владислав
09.02.2017
10:56:06
Vladimir
09.02.2017
10:56:35
кмк, конфигурирование сервера не относится

Алексей
09.02.2017
10:56:55
я почти на 100% уверен что это дело в сервере

Yuri
09.02.2017
10:58:02
вот из того же разряда статья https://hackernoon.com/avoiding-accidental-complexity-when-structuring-your-app-state-6e6d22ad5e2a#.4xv0orw77
ага, похожая. Ну я так понимаю, что общее соображение должно быть такое, что надо делать структуру поплощще и предусматривать постоянные копирования и конкатенации в массивах.

Amon Bower
09.02.2017
11:49:05
Где лучше хранить массив со списком городов. В редюсере или в том же классе, где будет выводиться этот список?

Даже, где правильней

Алексей
09.02.2017
11:50:21
Городов - в редьюсере

Amon Bower
09.02.2017
11:52:24
ok

Никита
09.02.2017
13:57:02
/stat@combot

Combot
09.02.2017
13:57:05
combot.org/chat/-1001032883247

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