@reactnative_ru

Страница 854 из 878
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
Vladislav
10.10.2018
13:54:37
Подскажите по андроид покупкам, востановление покупки нужно делать по purchaseToken?

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

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

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

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
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 это прям может очень сильно тормозить в зависимости от обстоятельств.

Alexsandr
10.10.2018
16:06:43
почему плохо то?))
у тебя на каждый ререндер создаеться новая функция

Play
10.10.2018
16:06:49
почему плохо то?))
@gblack9 уже разложил доходчиво

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
и вообще функциональные компоненты не инстанциируются
))) Для пользователей нет, а для реконсайлера...

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

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
Да, существует, ну тут дальше сам буду копать

Google
Dmitry
10.10.2018
18:15:56
Или он неправильный

У IPhone X и Xs MAX разный уровень смещения KeyboardAvoidingView...

Gena
10.10.2018
20:12:21
У IPhone X и Xs MAX разный уровень смещения KeyboardAvoidingView...
Привет всем, кто хардкодит размеры тулбаров, навбаров, клавиатур и пр.

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

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

Dmitry
11.10.2018
05:18:06
А если серьезно, то тут уже обсуждали его, если покопать историю, можно много интересного про KeyboardAvoidingView узнать )
Да, у меня инпут к низу прилеплен и сдвигается вместе с клавой, ладно у iOS и Android разные behavior и offset, но чтобы у iOS и iOS

Алексей
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: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

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
нормальлизацией занимаются либо редюсеры, либо опять же эпики.
тогда я бы лучше отдал нормализацию в редьюсеры, а логику в экшены. Тогда можно будет без лишних беспокойств меняли либо выдачу либо обработку

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

для меня актуальна тема архитектуры проекта, т.к. всегда можно почерпнуть, что-то новое)

Страница 854 из 878