@react_js

Страница 796 из 5115
Dmitry
06.01.2017
10:39:30
Denis
06.01.2017
11:07:48
redux-form вообще стоит использовать?
Главное внимательно ознакомьтесь с возможностями, шаг в сторону с ним не сделать

from
06.01.2017
12:02:59
https://docs.google.com/forms/d/e/1FAIpQLScC-xmCStwVmZu_Bh6zu1N_dUyGfEIcnbCkqnNfni1vbxcehQ/viewform

Ivan
06.01.2017
12:22:52
как инициализировать форму в Redux Form если action который получает данные для иницализации асинхронный, сначала рисуется форма, а потом только приходят данные

Google
Ivan
06.01.2017
12:22:54
?

KlonD90
06.01.2017
12:27:54
initialize использовать еще раз затем

Yumi
06.01.2017
12:45:02
let nextInvoked = false; const next = () => nextInvoked = true;

В чем смысл таких манипуляций?

Maxim robox
06.01.2017
12:46:55
Передать дальше эту фунцию для манипуляции этой переменной?

Yumi
06.01.2017
12:49:41
А понял. Тупой вопрос задал.

Roman
06.01.2017
12:50:06
посмотри на action creator'ы у redux form

как инициализировать форму в Redux Form если action который получает данные для иницализации асинхронный, сначала рисуется форма, а потом только приходят данные

http://redux-form.com/6.4.3/docs/api/ActionCreators.md/

a
06.01.2017
12:51:33
over-engineering

Ivan
06.01.2017
13:01:25
initialize использовать еще раз затем
а можно диспатчить в action creator в котором загружаются данные. там как во всех учебниках, dispatch(request); axios.get(xxx).then(response => dispatch(success(response)) ВОТ ГДЕ-ТО ТУТ можно диспатчить?)

KlonD90
06.01.2017
13:02:11
ну вот initialize это подобное дерьмо

тоже action creators

Google
Nikita
06.01.2017
13:45:54
не тот чат :)

Ramin
06.01.2017
13:46:48
не тот чат :)
Ок, спасибо

Dmitry
06.01.2017
14:35:45
@javascript_jobs

Ramin
06.01.2017
14:37:00
@javascript_jobs
Спасибо

KlonD90
06.01.2017
14:38:04
over-engineering
а мне не хватате на самом деле ( ну это конечно в зависимости то что вы хотите. Мне нужна ModelForm типа

Ilya
06.01.2017
14:39:05
http://flexboxfroggy.com

Alexander
06.01.2017
16:58:02
Есть вопрос по Immutable Map и mergeIn/merge Если мне приходи большой ответ от сервера с точки зрения уникальных ключей (порядка 100): { key1: {....}, key2: {....}, .... key100: {....} } И мне же приходит его обновленное состояние потом снова. Как лучше смержить предыдущее состояние и новое? Меня смущает то что merge делает новую Map и как следствие Реакт все перерисует что связанно с Map, так как ссылка на объект новая

Paruyr
06.01.2017
17:05:10
проще всего сделать shouldComponentUpdate

Alexander
06.01.2017
17:06:19
спасибо, думал об этом

Paruyr
06.01.2017
17:06:33
Можно еще сделать массив, где будут хранится изменения

Подгрузились какие-нибудь штучки с сервера - sCU смотрит в него и если есть что-то новое, то возвращает TRUE

Alexander
06.01.2017
18:15:18
кто подскажет, где в исходниках реакта есть работа c Immutable JS структурами?

меня интересует такой вопрос относительно shallowEqual

var a = new Immutable.Map({ numbers: new Immutable.Map({1: 1, 2: 2}), letters: new Immutable.Map({a: 'a', b: 'b'}), });

var b = a.mergeIn(['numbers'], Immutable.fromJS({3:3, 4:4}))

b.get('letters').equals(a.get('letters')) // true

реакт ничего не перерисует для letters?

Mikhail
06.01.2017
18:30:40
в исходниках реакта нет ничего про иммутабельные структуры данных, все управляется через shouldComponentUpdate, который по умолчанию возвращает true. Тебе надо переопределять его в своих компонентах, чтобы оптимизировать логику обновления в зависимости от твоих данных

https://facebook.github.io/react/docs/optimizing-performance.html#avoid-reconciliation

Google
Ҫѐҏӗѫӑ
06.01.2017
18:37:58
вообще есть, но не про иммутаблжс

виртуальный дом иммутабелен

Alexander
06.01.2017
18:49:53
@chicoxyzzy расскрой тему :)

Mikhail
06.01.2017
18:56:43
это не реакт )

но да, делает

sane
06.01.2017
18:57:26
Ну понятно, я к тому что чаще всего не надо руками scu делать

Alexander
06.01.2017
19:02:48
@sane_ecg PureComponent вроде как тоже идет с shallowEqual свойств

но это к слову, про Immutable понял

Danila
06.01.2017
19:31:30
господа, а есть тут шарящие в mobx? столкнулся с ситуацией, что reaction (render react-компонента) срабатывает не в следующем тике, а в текущем. из-за этого не могу сразу несколько изменений внести - рендер начинается сразу же после первого. никогда не сталкивались? я неправильно его готовлю?

Ҫѐҏӗѫӑ
06.01.2017
19:54:29
@chicoxyzzy расскрой тему :)
куда дальше-то раскрывать?

вроде дальше некуда

Alexander
06.01.2017
19:55:19
?

Ҫѐҏӗѫӑ
06.01.2017
19:55:50
нет, я могу объяснить если что-то непонятно, но мне не понятно что именно не понятно)

Alexander
06.01.2017
19:58:53
на самом деле меня инетерсует shallowEqual из коробки в реакте, где он есть кроме PureComponent :)

Danila
06.01.2017
20:09:45
неужели нет никого кто любит mobx?( ато чёт я совсем не могу нагуглить решение, а лезть в исходники mobx’а не хочется

Alexander
06.01.2017
20:10:12
я люблю, но на расстояние :) жду пока другие обкатают

Vladimir
06.01.2017
20:10:14
лучше слазий

Dreamerinnoise
06.01.2017
20:10:40
неужели нет никого кто любит mobx?( ато чёт я совсем не могу нагуглить решение, а лезть в исходники mobx’а не хочется
я только начинаю, сегодня связывал два стора и смотрел как реагируют компоненты на изменения в одном

Danila
06.01.2017
20:11:39
на самом деле я в нём сам не так давно, пару недель, но 99% кейсов хорошо описаны в их доках и раньше проблем не возникало. это вот первая более-менее нетривиальная

Google
Dreamerinnoise
06.01.2017
20:11:55
я всегда в таких случаю сразу иду на гиттер mobx

Admin
ERROR: S client not available

Dreamerinnoise
06.01.2017
20:12:02
и спрашиваю у автора либы

не могу выговорить его имя

на самом деле я в нём сам не так давно, пару недель, но 99% кейсов хорошо описаны в их доках и раньше проблем не возникало. это вот первая более-менее нетривиальная
ты кстати не в курсе, как обрабатывать если стор не удаляется из памяти, когда его компонент отмаунтился? (забыл сделать dispose)

если делать dispose autorun/reaction то стор отваливается ок.

имеется в виду, что mobx об этом ничего не говорит, ну что и понятно. это мои личные проблемы, что я не освобождаю обсервер

Danila
06.01.2017
20:16:14
ммм, типа чтобы GC собирал все сторы, на которых не осталось референсов?

Dreamerinnoise
06.01.2017
20:17:04
ну вот так правильно componentWillUnmount() { this.store.dispose(); this.store = null; }

Danila
06.01.2017
20:17:04
по идее при анмаунте авторан, который висит на render должен отваливаться сам по себе. если есть другие автораны - их надо вычищать руками

ммм, момент

Dreamerinnoise
06.01.2017
20:17:18
dispose() { this.ticketReaction(); }

Danila
06.01.2017
20:17:19
видимо мы о разном

а нет, не о разном

Dreamerinnoise
06.01.2017
20:17:56
this.ticketReaction = reaction('blabla',() => this.appStore.isConnected, connected => { if (connected) { blabla(); } } ); }

вот если я где-то этот момент проебал, то всё — висит стор в памяти

Danila
06.01.2017
20:21:58
а стор как в компонент передаёшь?

Dreamerinnoise
06.01.2017
20:22:24
Пробовал по разному

Danila
06.01.2017
20:23:01
просто если через inject - у тебя считай есть список всех сторов, и всех компонентов, которые их инъектят в себя

можно по willmount / willdismount считать кол-во референсов и вызывать в сторах dispose автоматически

Google
Danila
06.01.2017
20:23:50
немного изврат, но, кстати, не особо нагружающий архитектуру

Dreamerinnoise
06.01.2017
20:23:55
как Inject поможет?

Danila
06.01.2017
20:24:10
ну ты можешь сделать свою обёртку над inject

Dreamerinnoise
06.01.2017
20:24:33
store = new MyStore(AppState);

Typescript

это сразу в начале

Danila
06.01.2017
20:24:51
мммм

ты сторы как передёшь в компоненты? через Provider + @inject?

Dreamerinnoise
06.01.2017
20:25:13
нет

просто в компонент

Danila
06.01.2017
20:25:26
через props?

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