
Dmitry
10.10.2018
13:49:07
внутри react-native-navigation
Но дело видимо в этом:
2018-10-10 16:49:51.645 8894-8901/? E/dboxed_process: Failed to send DDMS packet REAQ to debugger (-1 of 20): Broken pipe
2018-10-10 16:49:51.666 8894-8894/? I/cr_ChildProcessService: Creating new ChildProcessService pid=8894
2018-10-10 16:49:51.682 8843-8922/com.demoapp E/chromium: [ERROR:devtools_http_handler.cc(292)] Cannot start http server for devtools. Stop devtools.

Gena
10.10.2018
13:52:15
Да, похоже... и ещё непонятно при чем здесь chromium... вроде там не должно быть такого... JSC же?

Dmitry
10.10.2018
13:53:00
За последние 2 дня андройд поражает меня все больше

Google

Play
10.10.2018
13:53:33

Vladislav
10.10.2018
13:54:37
Подскажите по андроид покупкам, востановление покупки нужно делать по purchaseToken?

Play
10.10.2018
13:55:01
@ECAEPSEY попробуйте роутер по-свежей react navigation

Gena
10.10.2018
13:56:56

Dmitry
10.10.2018
14:02:04

Gena
10.10.2018
14:02:45
Где-то видел чтиво на тему, НЕиспользования стрелочных функций в методах, которые занимаются рендером, но найти не могу... Никто не видел/слышал такого?
На всякий случай здесь напишу, там первая ссылка на SO абсолютно верная... дело не втом что они медленнее (это ещё проверять надо). А в том, что это скрытая форма создания объекта и относится это не только к функциям, смотрите, вот здесь:
<MyPureComp propA={() => true} propB={{}} propC={[]} />
Всем трем свойствам присваиваются новые объекты... это означает, что MyPureComp будет вызывать свой render всегда, когда вызван render компонента, где его создают... хотя формально ничего не изменилось и его можно было бы не ререндерить. И вот это даёт тормоза в непредсказуемых местах...

✡️Хаски
10.10.2018
14:08:12

Gena
10.10.2018
14:09:13
Мы в курсе ? Я для комьюнити оставил краткую выдержку...

Dmitry
10.10.2018
14:17:47

Ksetrin
10.10.2018
14:50:31
Не могу понять где начало треда про стрелочные функции. Поэтому влезу и спрошу
<FlatList
data={[{key: 'a'}, {key: 'b'}]}
renderItem={({item}) => <Text>{item.key}</Text>}
/>
Так делать плохо, я верно понял?

George
10.10.2018
14:56:12
Всем привет, у меня тут пачка вопросов
- Есть ли какой-то более подробный гайд по react-native-navigation? Нужно сделать сложную структуру навигации, а там либо tab applicaiton, либо single screen, не совсем понятна копцепция.
В случае react-navigation понятно - мы создаем нужные навигаторы и комбинируем их дерево, а вот в случае wix библиотеки - непонятно
Можно ли делать blurred tab bar?
Можно ли это все делать на Android?

Google

Nick
10.10.2018
15:08:27

Ksetrin
10.10.2018
15:10:11

George
10.10.2018
15:10:15

Nick
10.10.2018
15:13:31
какой получу профит ?
анонимная функция не будет пересоздаваться заново, это относится непосредственно к оптимизации реакта, результат будет ничтожный, лучше смотреть, что можно оптимизировать внутри самих айтемов, или со свойствами флат листа поиграться

Alexsandr
10.10.2018
15:15:44
через panHandlers можешь сделать

Ksetrin
10.10.2018
15:15:44
вот глянь https://github.com/wix/react-native-interactable

Alexsandr
10.10.2018
15:20:27
устанет
что ты под этим имеешь ввиду)

Ksetrin
10.10.2018
15:20:59

Sklyarov
10.10.2018
15:21:42
есть тут кто то кто может помочь с генерацией apk вместе с expo sdk
ну и вообще разъяснить что к чему при работе с инфраструктурой react-native

George
10.10.2018
15:27:58
Для android нужно сгенерировать ключ для подписи (про это написано на сайте react-native в разделе signing your app), после чего спокойно делаешь expo build:android и минут через 15 получаешь ссылку на скачивание apk


Gena
10.10.2018
15:41:10
да тут флэтлист просто под руку попался, дока была открыта и там пример как раз нужный. Я вообще про подход хотел узнать. Там было выше
»дело не втом что они медленнее (это ещё проверять надо). А в том, что это скрытая форма создания объекта и относится это не только к функциям
я не понял какая проблема в этом и какой профит так не делать
Проблема в том, что созданный новый объект будет иметь идентити отличную от предидущего. Соответственно когда вызовется метод рендер вашего компонента, он создаст в вернет инстанс компонента FlatList, со св-ми отличающимися по идентити от предидущего инстанса. Это на этапе реконсайлинга в вашем примере, инициирует вызов метода render FlatList (скорей всего... дело в том, что конкретно FlatList, не факт что такой уж PureComponent, поэтому надо смотреть на его метод shouldComponentUpdate... но здесь и далее для простоты я предполагаю, что FlatList - pure).
Проблема: у вас отрабатывает код метода render компонента FlatList, когда мог бы не отрабатывать. Этот метод повлечет реконсайлинг ниже в иерархии и так далее... собственно проблема в том, что вы даже не можете предсказать как много лишнего кода выполнится, т.к. это не тот же самый компонент а часто вообще чужой код.
Профит так не делать: отсутствие пробемы.
ЗЫ... если что в вашем примере проблема в обоих св-вах... и data и renderItem
И ещё... проблема лишнего рендера меньше заботит большинство программистов React в вебе... Это потому, что в браузере очень быстрый JS движок... Т.к. процессор мощней телефонного и JIT из коробки. В RN это прям может очень сильно тормозить в зависимости от обстоятельств.


Play
10.10.2018
16:05:28

Cenator
10.10.2018
16:06:09

Alexsandr
10.10.2018
16:06:43

Play
10.10.2018
16:06:49

Google

Cenator
10.10.2018
16:07:29

Alexander
10.10.2018
16:09:09
Как решается проблема "Cannot find the common subdirectory path for the input files" в react-native-typescript-transformer?

Cenator
10.10.2018
16:09:29
и вообще функциональные компоненты не инстанциируются

Play
10.10.2018
16:10:41

Oleg
10.10.2018
16:10:57

Gena
10.10.2018
16:14:05
Реконсайлеру надо знать их предидущие св-ва, откуда он их берёт?

Alexey
10.10.2018
16:22:10

morda
10.10.2018
16:24:12
Ну померьте же уже)
Первый рендер идет в сто раз дольше всех последующих ререндеров)

Ruslan
10.10.2018
17:15:39
Запускаю run-ios после распакованной expo, падает запуск и такое выдает
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/app.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Начал гуглить, там непонятно совсем, кто сталкивался?

Ivan
10.10.2018
17:21:16
обычно выше в логе есть причина

Ruslan
10.10.2018
17:25:24
Я понял, что не хватает, а как это поправить?Файл докинуть откуда?

Eli
10.10.2018
18:01:06

Ruslan
10.10.2018
18:01:47
Ага, самое интересное, что через xcode все без проблем запустилось, а с консольки нет

Eli
10.10.2018
18:02:25
А ты проверял build/Build/Products/Debug-iphonesimulator/app.app/Info.plist существует?
Скорее всего проблема с путями где-то

Ruslan
10.10.2018
18:03:28
Да, существует, ну тут дальше сам буду копать

Dmitry
10.10.2018
18:15:39

Google

Dmitry
10.10.2018
18:15:56
Или он неправильный
У IPhone X и Xs MAX разный уровень смещения KeyboardAvoidingView...

Gena
10.10.2018
20:12:21
А если серьезно, то тут уже обсуждали его, если покопать историю, можно много интересного про KeyboardAvoidingView узнать )

Roman
11.10.2018
02:09:35
Доброго времени суток, ищу наставника, человека работающего (имеющего опыт в прошлом) на биржах фриланса таких как: upwork, weblancer в нише фронтенда. Хочу работать с более сложными вещами, чем верстка обычных лендингпейдж, и одному корректный вектор развития сложно сформулировать. Думаю, многие меня понимают... Буду искренне рад, если кто-то отпишется в лс:)

shut up
11.10.2018
05:08:05

Dmitry
11.10.2018
05:18:06

Алексей
11.10.2018
06:58:25
Всем привет
мини вопросик по react-native
<TextInput autoFocus = {true} keyboardType ='numeric' />
Когда смотрю через EXPO на андроиде то первый раз клавиатура не выскакивает... когда apk соберу будет клавиатура выскакивать? или нужна какая-то магия

Stepan
11.10.2018
07:06:26
ребят, есть вебвью, можно ли как то сделать навигацию, поверх навигации на сайте? тоисть отключить навигацию на сайте, например передав как то, какой то параметр, и сделать навигацию например через react-navigation? лучше не спрашивайте зачем)

Никита
11.10.2018
07:12:11

Stepan
11.10.2018
07:14:17

Никита
11.10.2018
07:16:08
http://facebook.github.io/react-native/docs/webview#onmessage
http://facebook.github.io/react-native/docs/webview#injectjavascript
или проще, но у меня вроде как не всегда отрабатывает (наверное из-за spa): http://facebook.github.io/react-native/docs/webview#onnavigationstatechange

Stepan
11.10.2018
07:18:36

✡️Хаски
11.10.2018
07:22:21

Stas
11.10.2018
07:35:10
задумался вести блог в том числе по рн. О чем было бы интересно почитать? Как-то обсуждали, что выключение\включение библиотек в билд в в деве и проде было бы интересно.

Eli
11.10.2018
08:06:09
Только что-нибудь выходящее за рамки container components


Stas
11.10.2018
08:17:36
Мне было бы интересно почитать об организации бизнес логики и сервисов в приложении.
у меня подход следующий: делать компоненты максимум глупыми и пулять экшены на каждый чих, если производительность не падает. потом иметь чистые эпики на redux-observable, куда ижектятся все внешние зависимости, в том числе сервисы, вроде пуш уведомлений или async storage. ну и потом полотна rxjs кода описывающие примерно
```
на каждое пуш уведомление
пульни экшен о полчении
загрузи данные если нужно
покажи нотификацию
пульни другой экшен
об обработке
```
Каждый эпик тестируется отдельно, как чистая функция над observable. container components лишь пуляют экшены и достают данные из стора, глупые компоненты это все рендерят.
основная мотивация: с io лучше работать c тем, что к io приспособлено и тестирование легче. но это вроде просто.

Eli
11.10.2018
08:25:22
а почему не добавлять экшены когда они нужны, вместо пулять на каждый чих?

Google

Stas
11.10.2018
08:27:32

Eli
11.10.2018
08:28:59
Понятно, спасибо.

Alex
11.10.2018
09:07:56
Есть вопрос по react-navigation. Скорее проблема. Как мы реализовывали структуру скринов есть например flow "search > search-result > user" и есть идентичный экран "settings > view > user". Так вот, как правильней реализовывать, одним экраном или не сколькими ? Если итоговый экран один и тот же

Dmitry
11.10.2018
09:42:50
@punksta я правильно понимаю, что ты жестко разделяешь логику от представления? Те получается, что компоненты только показывают что-то в зависимости от данных, но их не модифицируют?


Stas
11.10.2018
09:46:33
стараюсь. они могут их модифицировать, но для своих нужд. Например взять объект из стора, каким он пришел туда из api, вытащить нужные поля, отдать в рендер.
нормальлизацией занимаются либо редюсеры, либо опять же эпики.

Max
11.10.2018
09:53:05
Привет, коллеги. А не в курсе, stackRouter поддерживает onNavigationStateChange ? или где посмотреть. На проекте старая версия react-navigation 1.x.x
Ищу удобное место, чтобы слать события для аналитиков на смену страниц.

Dmitry
11.10.2018
10:07:00

Stas
11.10.2018
10:09:33

Dmitry
11.10.2018
10:14:50
cами action. middleware, для меня, это отдельный слой.. У меня в них реализуется глобальная логика, например показ ошибок в приложениях, предварительное форматирование запросов или какие-то другие дейсвтия обобщенного характера
для меня актуальна тема архитектуры проекта, т.к. всегда можно почерпнуть, что-то новое)