
Default
06.07.2017
16:44:05
Так?

Dmitry
06.07.2017
16:44:07
да

Default
06.07.2017
16:44:34
То есть замена значения в одном поле приводит к пересчету чуть ли не всей таблицы разом
Жоска

Google

Dmitry
06.07.2017
16:44:48
да
при этом оно не лагает

Default
06.07.2017
16:45:26
Не суть – значения-то ты хранишь в одном месте :)

Dmitry
06.07.2017
16:45:54
ну значения в модели
а от этой модели я уже агрегирую данные
в нужный формат

Default
06.07.2017
16:46:14
И ты валидируешь все значения в таблицах, выходит?

Dmitry
06.07.2017
16:46:36
Там особой валидации нету, там просто форматирование
на инпутах
и если модель поменялась, то оно сохраняет

Default
06.07.2017
16:46:59
А проверка типов в рантайме?

Dmitry
06.07.2017
16:47:35
Ну так есть екшин который меняет значение в модели он все данные кастит к нужным типам

Google

Dmitry
06.07.2017
16:47:38
)))

Default
06.07.2017
16:47:47
Логично

Dmitry
06.07.2017
16:47:51
из-за форматирования юзер не может неправильные вельюсы ввести
а если сможет, то екшин все скастит, а если не вышло, то просто измения не будет
и юзер не увидит апдейт

Default
06.07.2017
16:48:30
Ага
То есть валидация при изменении значения только

Dmitry
06.07.2017
16:48:59
Ну, mst валидирует всегда
по модели
mobx-state-tree
Т.е если при ините пришел какой-то “-Infinity” там где должен быть number, то приложуха не будет работать
ну и это верно
Сейчас там модели все тонкие и только базовые екшоны в них, а почти все действия происходят в рутовом контроллере, но там уже очень много всякого.

Artyom
06.07.2017
17:02:05
Есть разница для реакта, компонент через querySelector (например, или getElementById) или refs менять? Точнее говоря, refs - все же меньшая из зол?

Сергей
06.07.2017
17:04:08

Artyom
06.07.2017
17:04:44
Ага, понимаю. Я так не делаю. Но вот увидел код на реакте, где инпут через квериселектор меняется
Размышляю теперь
Ну вообще, через refs - доступ к шодоудом. И тут еще все не так страшно. Но вот через document лезть к элементу... Даже и не знаю как реакт на это реагировать должен....

Alexey
06.07.2017
17:12:23
подскажите, есть ли путь адекватный какой-то для такой ситуации. есть react-router, рутовый компонент задает layout. но для дочерних роутов меняется буквально пара кнопок, как мне не писать тулбар отдельно в каждом роуте, а скажем иметь контейнер тулбара в главном layout, а роуты дочерние только чтоб имели функцию из разряда renderToolbarButtons()

Google

Artyom
06.07.2017
17:19:23
Я тебя не понял, но если ты думаешь, что роут можно писать только там же, где и роутер, то на самом деле ты можешь писать <Route/> в любом дочернем компоненте <Router/> любой глубины

Alexey
06.07.2017
17:19:47
не

Alexey
06.07.2017
17:20:15
хотя не, там один инстанс лаяута на верхнем уровне )

Alexey
06.07.2017
17:21:40
да

Alexey
06.07.2017
17:22:15
а разбить его не думал? чтобы кнопки через дочерние передавать?

Alexey
06.07.2017
17:22:19
вот как мне в path1 и path2 определить рендеринг части тулбара

Alexey
06.07.2017
17:23:12
просто ты же можешь декораторы описать для path1 и path2 для какого-нибудь общего компонента

Alexey
06.07.2017
17:24:38
не понял

Alexey
06.07.2017
17:27:05
К примеру у тебя есть базовый компонент:
function Child(props) {
const {ChildToolbar} = props;
return (
<ToolbarGroup>
<ChildToolbar/>
</ToolbarGroup>
);
}
И декоратор для Path1(2):
function Path1() {
return (
<Child ChildToolbar={MyComponent}/>
);
}
и последний монтируешь в роутер

Alexey
06.07.2017
17:28:29
ну это выйдет так что весь Child пойдет в тулбар

Alexey
06.07.2017
17:28:55
в лэйауте

Alexey
06.07.2017
17:29:31
да, я поэтому и спрашивал про разбиение лэйаута
там еще можно попробовать кастомизировать лэйаут на верхнем уровне через параметры роутера, но боюсь получится несколько перегруженный и специфичный лэйаут

Alexey
06.07.2017
17:31:39
как-то всё не очень

Artyom
06.07.2017
17:35:09
Кнопку/и роутером обернуть, че там...

Sheldhur
06.07.2017
18:26:07
а можно извлечь роут для компоненты?
чтобы в компонентах его не менять
типа у меня есть <Route path="/somePath" component={SomeComponent} /> и в компонентах <Link to="/somePath">

Google

Sheldhur
06.07.2017
18:26:07
и я в роутах меняю на /somePath123 и в линках чтобы тоже было /somePath123
крч чтобы пути не переписывать, если роут к компоненту изменился

Taras
06.07.2017
18:27:32
Cmd + Shift + R ? Replace /somepath -> /somePath123 ?

Sheldhur
06.07.2017
18:27:40
нет

Andrey
06.07.2017
18:30:03

Sheldhur
06.07.2017
18:30:25
константы скорее :)
но хотелось бы без них

Sergey
06.07.2017
18:48:33
Link to=props.match.url
А зачем тебе такое? ) Это же, бессмысленно)

Admin
ERROR: S client not available

Denis
06.07.2017
18:51:48
RoRщики
их повадки

Sheldhur
06.07.2017
18:52:26
на случай если роуты поменяю, чтобы потом во всех компонентах не менять

Sergey
06.07.2017
18:52:57
Я ору)

Sheldhur
06.07.2017
18:53:42
вот в Yii была такая фишка, роуты описываешь типа как /somePath/:id => actionSomeClass

Denis
06.07.2017
18:54:00
тут тебе поможет hoc

Sheldhur
06.07.2017
18:54:11
а потом во вьюхах просто пишешь /actionSomeClass/123
и он преобразует в /somePath/123

Denis
06.07.2017
18:54:48
а если actionSomeClass нужно переименовать

Google

Sheldhur
06.07.2017
18:54:49
меняешь в роутах на /somePath123/123

Sergey
06.07.2017
18:55:01
Нене, дайте ему доку на роут 4

Denis
06.07.2017
18:55:10
хочу superActionSomeClass
получается чтобы застраховаться и от этого случая

Sheldhur
06.07.2017
18:55:22
и он автоматом делает ссылки на /somePath123/123

Denis
06.07.2017
18:55:28
нужен еще один hoc

Dmitry
06.07.2017
18:55:42

Denis
06.07.2017
18:56:48
создай файл routes
и мапь там названия на роуты

Sheldhur
06.07.2017
18:58:16
и как мне это поможет не менять роуты в компонентах? :)

Denis
06.07.2017
18:58:50
наверное так Link to=routes['actionSomeClass']
Route path routes'actionSomeClass'

Sheldhur
06.07.2017
18:59:33
окай
попробую

Denis
06.07.2017
18:59:41
но если месье толковый
то он сделает хок

Sheldhur
06.07.2017
19:00:05
но вообще там вот такое

Denis
06.07.2017
19:00:12
который будет работать как роут или как линк в зависимости от контекста

Sheldhur
06.07.2017
19:00:15
так что хз

Denis
06.07.2017
19:01:12
if ContextProps.router render Route
else render Link
после этой херне давать имя

Sheldhur
06.07.2017
19:02:01
попробую