
Anton
26.01.2017
13:36:05
таки я за редакс, скорее, идеологически он кажется правильнее

Alexandr
26.01.2017
13:36:51
а мобкс можно те жде идеологии испоользовать\
просто он реактивен

Google

Anton
26.01.2017
13:37:36
mutable vs immutable (state)

Стас Щетинников
26.01.2017
13:39:28

Vladimir
26.01.2017
13:39:48
ни в чём
просто меньше магии

Anton
26.01.2017
13:41:51

Andrew
26.01.2017
13:45:01

Стас Щетинников
26.01.2017
13:45:47
исторически недоверяю mutable... ;)
А мне кажется, что observable сложнее в реализации и в нем больше магии, но код читается сильно лучше, чем классический funcational переходы.

Anton
26.01.2017
13:47:42
у каждого свой опыт. одному так, другому этак

Sheridan
26.01.2017
13:49:48

Sergio
26.01.2017
13:50:20
привет всем!
есть небольшой вопрос по react php

Vladimir
26.01.2017
13:51:03

Aleh
26.01.2017
13:51:18

Google

Sasha
26.01.2017
13:51:21
Привет ребят.
Знает ли кто-то как передать Meteor.user() в redux store?
Кто-то сталкивался?

Aleh
26.01.2017
13:51:22
либо v8 в пыхе
либо event loop

Sergey
26.01.2017
13:51:27
есть, но оно УГ

Сергей
26.01.2017
13:51:33
Бля... react в php

Sergio
26.01.2017
13:51:35
не могу разобраться, как мне правильно слушать и принимать сообщения с сокета, в addPeriodicTimer?

Aleh
26.01.2017
13:51:46
все ясно

Sergio
26.01.2017
13:51:46
внутри именно лупа самого

Aleh
26.01.2017
13:51:49
ты не туда пришел

Сергей
26.01.2017
13:51:52

Sasha
26.01.2017
13:52:19
@mkusher мне?

Aleh
26.01.2017
13:52:21

Sergio
26.01.2017
13:52:40
ммм.. ну тогда прошу прощения за беспокойство

Sasha
26.01.2017
13:52:55
помогите кто-нить

Sergey
26.01.2017
13:55:39

Aleh
26.01.2017
13:55:54

Sergey
26.01.2017
13:56:08
а, все : )

Шома
26.01.2017
13:56:20

Sheridan
26.01.2017
13:56:32

Google

Sheridan
26.01.2017
13:56:45
http://prgssr.ru/development/pogruzhenie-v-react-redux.html

Sasha
26.01.2017
13:57:54
@Sheridan_ru у меня не работает асинхронное обновление с Метеор, вот и спрашиваю)

Шома
26.01.2017
14:01:16

Denis
26.01.2017
14:02:54
redux-logic и больше ничего не нужно, сага тем более

Влад
26.01.2017
14:35:38
Какую сетку для верстки используете?

Никита
26.01.2017
15:29:09
Всем привет :) а подскажите как написать такое же только со спредами:
this.setState({password: Object.assign(this.state.password, {[e.target.name]: e.target.value })});

Сергей
26.01.2017
15:31:13
this.setState({ password: { ...this.state.password, [e.target.name]: e.target.value } })

Алексей
26.01.2017
16:25:29
кто apollo использует?

Demid
26.01.2017
16:44:10
кто ни будь разбирался в исходниках как происходит - var ActionTypes = exports.ActionTypes = {
INIT: '@@redux/INIT'
};
в Redux?

Mikhail
26.01.2017
16:49:07
Ну при инициализации стора выполняется каждый из редюсеров

Denis
26.01.2017
17:01:44

Ivan
26.01.2017
17:02:04
Пример как рендерить тысячи маркеров на карте с реактом - внутри канвас
https://istarkov.github.io/google-map-thousands-markers/

Oleg
26.01.2017
17:04:46

Sasha
26.01.2017
17:07:08
гайз, как соеденить Meteor.user() с redux?

Demid
26.01.2017
17:10:36

Denis
26.01.2017
17:10:37
Нужно

Dreamerinnoise
26.01.2017
17:15:13
Кстати, вопрос.
Есть контейнер-родитель внутри может быть 1-n детей, в каждом чайлде по 48 квадратиков, у которых меняется стили в течении определенного отрезка времени. После чего контейнер удаляется.
Есть смысл переложить рендер этих чайлдов на canvas элементы?
@cybice это к слову про канвас

Ivan
26.01.2017
17:15:53
зависит от

Google

Ivan
26.01.2017
17:16:14
порой куча говна нормально рендериться порой нет

Dreamerinnoise
26.01.2017
17:16:35
ну, я собрал каркас. рендерится без стилей тупо цифры гораздо быстрее, чем куча дома
точнее просто fillRect

Ivan
26.01.2017
17:17:17
По мне нет смысла ни в каких оптимизациях если клиента устраивает ?
в примере что я выложил там просто уже от 2000 маркеров если рендерить не канвасом начинается пошаговая стратегия

Admin
ERROR: S client not available

Ivan
26.01.2017
17:18:20
даже при условии полностью оптимизированного переписанного google-map-react

Dreamerinnoise
26.01.2017
17:18:29

Ivan
26.01.2017
17:18:58
проблема инитиал рендер все равно будет - канвас тоже не фиг быстр порой

Dreamerinnoise
26.01.2017
17:21:24
Ок, я понял. Спасибо.

Данил
26.01.2017
17:58:42
#whois
Всем привет из Казани!
О себе: студент, развиваю свои проекты.
С недавнего времени перешёл от монолитов (RoR, иногда PHP) на микросервисы. Соответственно возникла необходимость пилить фронтенд "оторвав" его от бэка. Выбрал React.
Зачем я здесь: есть вопросы (много), есть желание делиться с сообществом чем-то интересным.
Я возможно задам вопрос, который задают все новички

Sergey
26.01.2017
18:09:48
Когда фронт "оторвали" от бэка - это Single Page Application (SPA).
А микросервисы - это когда бэк на много кусочков разделили.

Данил
26.01.2017
18:11:00

Sergey
26.01.2017
18:11:11
Сорри, не правильно понял, значит

Сергей
26.01.2017
18:11:17

Nikita
26.01.2017
18:12:09
не отвлекайте Данила, я хочу узнать что же спрашивают все новички, Данил не томи уже\

Данил
26.01.2017
18:15:00
Что пропускать через store редакса, а что нет?
1. Работа с API. Все запросы пускаются через store? Для каждого экшена диспетчится по как минимум два экшене: отправка запроса и либо "ошибка", либо "успех". Успех/ошибка обрабатывается редьюсером и меняет состояние. Или всё же запросы обходят стороной store? Шлются из контейнеров и там же обрабатывается результат запроса?
2. Где храните состояние форм: значения полей, ошибки (например, "поле "название" должно быть заполнено"). В store или в контейнере?
Судя по тому что я читаю в интернетах, этот вопрос - причина многих срачей. Он своего рода аналог вопроса "iOS или android" в мире реакта.

Nikita
26.01.2017
18:16:58
я делаю так - это может быть неверно =)

Google

Nikita
26.01.2017
18:19:11
например
reducers
function dataRequest(state, action) {
return state;
}
function dataSuccess(state, action) {
return { ...action.result };
}
function dataFailure(state, action) {
return initialSearch;
}

Yaroslav
26.01.2017
18:28:52
Ребят, кто слышал о конфе по реакту в Амстердаме?
Скоро в группе буду разыгрывать билет. ?

Nikita
26.01.2017
18:30:11
я слышал, но список выступающих не впечатлил


Данил
26.01.2017
18:54:19
я делаю так - это может быть неверно =)
Я тоже запросы пускаю через redux. И тоже через middleware (https://github.com/svrcekmichal/redux-axios-middleware). Но мне всё это жутко не нравится.
Больше всего непоняток с формами для редактирования всякой-всячины. Для таких форм требуется подгружать данные по сети.
Что у меня есть из компонентов: сама форма (отображение), контейнер (логика и обрабочики событий ввода, нажатий и всего такого).
Есть ещё редьюсер (один на каждую форму). Он реагирует на экшены отдиспэтченные из контейнера формы (например, CREATE, CREATE_SUCCESS, CREATE_FAIL, UPDATE, UPDATE_SUCCES, UPDATE_FAIL).
По экшенам видно, что я переиспользую форму: она и для создания сущностей и для редактирования.
Этот редьюсер заведует куском стейта, а именно следующими полями в этом куске: loading (индикатор процесса обработки запроса), errors (массив ошибок).
Значения полей формы я в стейте не храню, потому что тогда придётся диспэтчить экшены для обновления значений в полях. А если это текстовое поле, то это получается одно нажатие кнопки = один экшен. Жесть какая-то. Поэтому я сущности гружу из контейнера. И там же обрабатываю ответ: закидываю данные из ответа в state контейнера. И пропсами пробрасываю эти значения в саму форму.
Раздражает тот момент, что приходится следить за тем, чтобы данные с предыдущего открытия формы никак не отражались на том, что видит человек, заново открыв форму. Для этого приходится в componentDidUnmount диспэтчить ещё один экш (RESET_FORM) и обрабатывать его редьюсером и при обработке очищать поля связанные с формой в store.
Но вот что если я захочу одновременно показать 2 формы одного типа с разными сущностями открытыми на редактирование?!
В общем, я всё больше склоняюсь к тому, чтобы всё связанное с формами полностью пустить в обход редакса. Хочу лишь услышать кто как делает.


Vitaly
26.01.2017
19:14:41
судя по тому что вы описали, что-то явно не не так... redux-form покрывает все описанные кейсы с формами

Sasha
26.01.2017
20:16:56
Ребят, нужна помощь
Очень нужна
updateProfile() {
return { user: Meteor.user(), loggingIn: Meteor.loggingIn() }
}
componentWillMount() {
this.props.loadUser(this.updateProfile());
this.data = setInterval(() => {
if(this.props.loggingIn === true) {
this.props.loadUser(this.updateProfile());
}
}, 1000);
}
Код мне дает, что action.payload === false, но this.props.loggingIn === true
Как такое может?

Дмитрий
26.01.2017
20:18:30
Бывает, когда спрашиваешь такие вопросы у чата вместо дебаггера
Просто останавливаешь процесс внутри кода и смотришь, как это возможно

Sasha
26.01.2017
20:20:18
Можешь помочь, уже день пофиксить не могу((


Maxim robox
26.01.2017
20:21:53
Я тоже запросы пускаю через redux. И тоже через middleware (https://github.com/svrcekmichal/redux-axios-middleware). Но мне всё это жутко не нравится.
Больше всего непоняток с формами для редактирования всякой-всячины. Для таких форм требуется подгружать данные по сети.
Что у меня есть из компонентов: сама форма (отображение), контейнер (логика и обрабочики событий ввода, нажатий и всего такого).
Есть ещё редьюсер (один на каждую форму). Он реагирует на экшены отдиспэтченные из контейнера формы (например, CREATE, CREATE_SUCCESS, CREATE_FAIL, UPDATE, UPDATE_SUCCES, UPDATE_FAIL).
По экшенам видно, что я переиспользую форму: она и для создания сущностей и для редактирования.
Этот редьюсер заведует куском стейта, а именно следующими полями в этом куске: loading (индикатор процесса обработки запроса), errors (массив ошибок).
Значения полей формы я в стейте не храню, потому что тогда придётся диспэтчить экшены для обновления значений в полях. А если это текстовое поле, то это получается одно нажатие кнопки = один экшен. Жесть какая-то. Поэтому я сущности гружу из контейнера. И там же обрабатываю ответ: закидываю данные из ответа в state контейнера. И пропсами пробрасываю эти значения в саму форму.
Раздражает тот момент, что приходится следить за тем, чтобы данные с предыдущего открытия формы никак не отражались на том, что видит человек, заново открыв форму. Для этого приходится в componentDidUnmount диспэтчить ещё один экш (RESET_FORM) и обрабатывать его редьюсером и при обработке очищать поля связанные с формой в store.
Но вот что если я захочу одновременно показать 2 формы одного типа с разными сущностями открытыми на редактирование?!
В общем, я всё больше склоняюсь к тому, чтобы всё связанное с формами полностью пустить в обход редакса. Хочу лишь услышать кто как делает.
Конкретно по вопросу "одно нажатие кнопки = один экшн":
Можно вешать не onBlur вместо onChange.


Sasha
26.01.2017
20:25:20
Может помочь кто-то?

Alexandr
26.01.2017
20:39:43
а кто-нибудь здесь, работал с cordova?

Dmitry
26.01.2017
20:47:02