Horse
в общем да
Aleksei
из тебя неплохой философ получится, потому что я нихера не понял))
Дмитрий
Нифига. Редьюсер не один, а множество, а вот состояние одно. В каждый редьюсер передаётся своя ветка из одного общего состояния.
Дмитрий
Если я правильно понял философское эссе)
Дмитрий
Много букв R вижу
Влод
короче когда я заадвал вопрос по редьюсерам я ожидал их в виде awesomeReducer = filter(byActionType('AWESOME')).map(someWorkOnState()) и думал куда они сохраняются. а сейчас гуглю примеры и глобальный свитч стоит...
Дмитрий
Точно!
Дмитрий
Вы тоже это видите?))
Дмитрий
Редьюсер - это функция. Если рассматривать редьюсер как некоторый логический объект, то да он один, но состоит из множества функций.
Horse
Чистых функций)
Дмитрий
Это два объекта можно склеить в один, а функции можно только последовательно вызвать.
Дмитрий
Естественно
Влод
короче да. combineReducers стейт разделяет между редьюсерами, каждый изменяет свой кусок и недетерминизма не происходит
。◕‿◕。
Привет, ищем react native девелопера, есть уже готовое под андроид, надо сделать под iOS. Пишите
Alexsandr
на ведре нативное чтоль?)
。◕‿◕。
Нет, на ведре тоже react native
Alexsandr
тогда в чем проблемма ?)
。◕‿◕。
Завтра узнаю ;d
。◕‿◕。
Сори, в информации чата этого нет. Спасибо за наводку :)
Aleksei
Сори, в информации чата этого нет. Спасибо за наводку :)
да, а то и до бана недалеко так, пока только предупреждение тебе
Alex
#ios #objective-c Совсем запутался в написании обертки над нативным фреймворком: 1. Сделал отдельный проект, который оборачивает нативную либу, которая является обычным Framework файлом по-сути 2. Ради интереса собрал iOS проект с либой (просто build) - всё ок, никаких ошибок (для этого подключил в Libraries проект с React из node_modules) 3. Попробовал создать чистый example app, установил из директории проект с оберткой, созданный ранее 4. При сборке в любом случае получаю либо ошибку ld: 751 duplicate symbols for architecture x86_64, либо про то, что не найдены заголовочные файлы в подключенном проекте, либо на этапе линковки, что не найдены линкуемые методы В общем, вопрос - есть где-то адекватный мануал как без проблем обернуть нативную либу, либо что делать в моём случае? =/
Alex
сморел в её сторону, но начал с https://github.com/frostney/react-native-create-library
Alex
наверное, стоит как вариант попробовать react-native-create-bridge
Alex
но еще идеи привествуются )
Ilya
Всем доброе утро
Ilya
Может кто сталкивался с такой проблемой - подключаю d3 и вылазит ошибка error: bundling failed: "Unable to resolve module url from ..../node_modules/xmlhttprequest/lib/XMLHttpRequest.js:
Alex
так у тебя два экземпляра реакта, не?
Тоже так думал, но удаление реакта из либы не помогло
Aleksei
может все же не до конца удалил? по идее все логично, что он на этапе линковки так жалуется
Aleksei
сможешь сделать воспроизводимый пример?
Alex
Звучит логично, да, наверное в эту сторону посмотрю
Alex
Пример смогу вечером скинуть
I
Пацаны, как сделать грамотно синхронизацию? Вот у меня есть контакт в приложении, я нажимаю на него открывается чат. 1. Подтягивает кэшированные сообщения в AsyncStorage, в это время показывается значок загрузки 2. После загрузки эти данные кладутся в редукс стор, убирается значок загрузки 3. Делается реквест на сервер о новых сообщениях 4. После реквеста в редукс стор я записываю новые данные и делаю сейв AsyncStorage 5. Данные на экране обновляются во время пункта 4 очень большой лаг появляется даже если данные конкретного чата уже в сторе, то 4 все равно тормозит уи Как лучше сделать можно?
I
Я видел этот пакет, он требует react-native link, а у меня до сих пор экспо, не хочется как-то ломать и писать нативный код
I
или экспо это прям зашквар?
I
так из-за чего лаг?
так вот отпрофилировать я не могу, у рн какой-то стремный дебагер
Aleksei
у рн дебагер в хроме)
I
Да, но вкладка profiling не работает)
I
и нетворкинг и вообще все не так как на обычном сайте он работает
Aleksei
ну эт логично)
I
не у рн есть же свой дебагер отдельный, но он намного медленнее простого хрома работает
I
а возможности те же
I
а я понял в чем лаг, в normalizr
I
но без него никак же
Aleksei
вот типа того, https://facebook.github.io/react-native/docs/performance.html#profiling-android-ui-performance-with-systrace
I
да, я читал
Aleksei
а я понял в чем лаг, в normalizr
а в какой момент он срабатывает?
I
мне systrace очень сложным показался
I
когда фетчишь чат
Aleksei
перед записью в стор?
I
приходит большой джсон
I
да
Artur
приходит большой джсон
Приходит много данных и вешается js поток
Aleksei
может разделить как то на части и в setImmediate засунуть каждую часть
Aleksei
чтобы ui не фризить
I
Я даже не знал такой функции
I
а почему уи фризится то, я думал там 2 потока, джс и уи отдельно
Aleksei
Я даже не знал такой функции
https://facebook.github.io/react-native/docs/timers.html
Aleksei
так у тебя не фризится же, а лаги, так?
I
ну вот если джс тред падает до -2 или 0 то уи фризится
I
ну вот именно фризится, а потом несколько секунд подлагивает
I
когда табы щелкаешь
Aleksei
фризится так что scrollview даже не скролится?;)
Aleksei
не, когда ты табы тыкаешь, идет ивент в js, а он в это время занят
I
еще кстати после этого когда ListView скроллишь он как-будто подгружает сообщения, хотя я там не делал подгрузки и весь массив сообщений в сторе уже в это время
I
скролл листается
Aleksei
скролл листается
ну вот, ui не фризится
Aleksei
у тебя js стоит
I
да
I
-2 показывает
Aleksei
тебе надо нормализацию разделить на чанки
Aleksei
и каждый чанк в setImmediate