
Vadim
28.09.2018
17:08:19

Олег
28.09.2018
17:09:28
кто может порекомендовать пакет для masked input? ничего вменяемого не нашел

akaSybe
28.09.2018
17:26:26
https://github.com/text-mask/text-mask

Google

Олег
28.09.2018
17:27:16
а он на native подойдет?
просто реакт же

Danila
28.09.2018
17:28:05
Регулярки обычные

Dmitry
28.09.2018
18:43:25

akaSybe
28.09.2018
19:14:56

Vadim
28.09.2018
19:57:00

Vadym
28.09.2018
21:46:26
нужно сканировать qr коды, какой плагин посоветуете?

Ivan
28.09.2018
21:49:11
rn-camera
https://github.com/react-native-community/react-native-camera/blob/master/README.md

Vadym
28.09.2018
21:49:43

Aynur
28.09.2018
22:56:20

Gena
29.09.2018
06:32:01
О, в react-native-firebase 5.0.0 одумались и убрали opencollective, оставили статический баннер в 3 строки, который не делает сетевых запросов на каждый npm i... больше не spyware )))

Demuz
29.09.2018
07:09:19

Google

Demuz
29.09.2018
07:09:43


Максим Джафаров
29.09.2018
07:17:51
REASON 1 : Duplicate of class file name
SOLUTION :
when your refactoring of some of your class files to a library project. and that time you write name of class file So, double check that you do not have any duplicate names
REASON 2 : When you have lot of cache Memory
SOLUTION :
Sometime if you have lot of cache memory then this error occure so solve it. go to File/Invalidate caches / Restart then select Invalidate and Restart it will clean your cache memory.
REASON 3 : When there is internal bug or used beta Version to Switch back to stable version.
SOLUTION :
Solution is just simple go to Build menu and click Clean Project and after cleaning click Rebuild Project.
REASON 4 : When you memory of the system Configuration is low.
SOLUTION :
open Task Manager and stop the other application which are not most used at that time so it will free the space and solve OutOfMemory.
REASON 5 : The problem is your method count has exceed from 65K.
SOLUTION :
open your Project build.gradle file add
defaultConfig { ... multiDexEnabled true }
and in dependencies add below line.
dependencies { compile 'com.android.support:multidex:1.0.0' }


Demuz
29.09.2018
09:15:35


Максим Джафаров
29.09.2018
10:21:00
5 решение не помогло?

Demuz
29.09.2018
10:21:30

Aynur
29.09.2018
10:22:36
multidex: true тоже на месте?

Demuz
29.09.2018
10:22:47

Oleg
29.09.2018
11:18:47
всем привет
можно ли как то у webiview локализовать текст надписей диалога загрузки файлов

Gena
29.09.2018
11:27:29

Oleg
29.09.2018
11:28:05
возможно у меня что то с девайсом
проверю на другом

Gena
29.09.2018
11:29:03
(это только предположение, если что...)

Denis
29.09.2018
11:29:08
Кто-то нажрал памяти?

Demuz
29.09.2018
11:29:32

Олег
29.09.2018
14:51:52
всем привет, так и не нашел пакет для input mask, может кто подскажет? и как открывать только цифровую клавиатуру?

Google

Cenator
29.09.2018
14:52:08
libphonenumber-js смотрел?

Олег
29.09.2018
14:52:17
нет
сейчас загуглю

Cenator
29.09.2018
14:52:41
форматируй по таймауту или blur

Denis
29.09.2018
14:52:44
Вы это серьезно?

Cenator
29.09.2018
14:54:08
предлагай если есть иное

Олег
29.09.2018
14:55:56
можно просто по вводу

Cenator
29.09.2018
14:56:15
не уверен что реакту это понравится
косяки с кареткой могут быть

Максим Джафаров
29.09.2018
14:56:43

Олег
29.09.2018
14:56:52
такая задача банальная, а делается через костыли

Cenator
29.09.2018
14:57:26
просто форматирование инпута это уже костыль

Олег
29.09.2018
14:57:54
ну маска для ввода номера не такой и костыль
задача самая обычная

Максим Джафаров
29.09.2018
14:58:37
+, решений в интернете хватает

Олег
29.09.2018
14:59:14
я поставил один пакет, что нашел, он ведет себя неадекватно, сам числа при вводе подставляет

Максим Джафаров
29.09.2018
15:01:19
Так самому написать можно же

Олег
29.09.2018
15:04:59
можно, но в веб разработке на такое никогда время не тратил

Ivan
29.09.2018
15:08:50

Google


Gena
29.09.2018
16:21:27
такая задача банальная, а делается через костыли
Это очень не банальная (простая, очевидная) задача! Это банальная задача, когда у вас один поток в приложении. В браузере это кажется простым, потому что там разработчики браузера применили зверские хаки, чтоб обычным веб-разработчиками жилось легко.
В нативе iOS это почти банальная задача, потому что UIKit приложение работает в одном потоке и вы свои фильтры ввода пишите синхронно с остальными обработчиками ввода и лэйаутом. В RN в этом смысле плохая архитектура (но другой нет). Поэтому эта задача вообще удивительно, что решаема. В 0.57 это тем не менее должно работать.
Для понимания, что это сложно, добавлю ещё, что у вас ввод идет через IM, что означает, что то, что появляется в поле не всегда соответствует тому, что в итоге введет пользователь и он не просто добавляет символы, а у вас IM может заменить уже введенные... А ещё RN хендлит форматирование в TextInput (это тоже косяк архитектуры, верней гипер обобщение в коде, но с этим ничего не поделать), и это значит, что он ещё трекает маркеры атрибутов символов по строке...
Но ещё раз, в RN 0.57 вешайте обработчик на onChangeText и меняйте value у компонента и это будет работать нормально (в RN 0.54, 0.55, 0.56 там баг и это не работает).


Vladimir
29.09.2018
16:31:24
Как вариант опустить задачу обратно на уровень нейтива и в реакт отправлять только форматированные данные. Тогда все снова становится тривиальным, просто решение становится узкоспециализированным. Зато уходят все хаки. И в самой возможности такого решения кроется вся красота RN. ?

Никита
29.09.2018
16:34:10
https://github.com/react-native-community/react-native-text-input-mask
вот же отличная либа, вроде надстройка над ипутом из rn

Олег
29.09.2018
16:35:42

Gena
29.09.2018
16:35:49

Никита
29.09.2018
16:36:41
Странно. У меня отлично работает

Олег
29.09.2018
16:37:38
там для айфона надо что-то куда-то копировать
я так и не понял

Никита
29.09.2018
16:45:31
Тоже немного тупил, но там как всегда - все по доке
Включить Always Embed Swift Standard Libraries’ of Build Settings
Добавить в Embeded Binaries

Олег
29.09.2018
16:46:07
понял, попробую, спасибо

Миша
29.09.2018
16:54:54
Всем привет!
У нас команда не может найти библиотеку для Push-нотификаций, которая поддерживает Expo и detached приложение в AppStore. Кто-нибудь знает подходящую библиотеку?
Заранее спасибо за ответ.

Ivan
29.09.2018
17:15:50
понял, попробую, спасибо
ток там еще такая штука есть, у меня без этого фикса не улетало в итюнсконнект
https://github.com/react-native-community/react-native-text-input-mask/issues/22

Никита
29.09.2018
17:52:47
Точно, забыл. Спасибо за дополнение


Gena
29.09.2018
19:20:37
Сейчас провел забавный эксперимент. Попробовал настроить бандлер так, чтоб он поле module использовал в package.json у модулей, если есть... Это уменьшило размер бандла (здесь и далее продакшн ios минификация) примерно на 300 байт.
Я удивился и добавил туда ещё процессинг esnext:main, что увеличило размер бандла ))) Озадачившись этим странным поведением, я полез разбираться... и вот, такая картина получается (это только то, что в node_modules лежит): http://vovkasm.skitch.vovkasm.org/bundle-size_2160060C.png
Это второй вариант (без esnext:main, там оказалось, что оно moment.js два раза пакует, уж не знаю почему).
Получается, что metro вообще чтоль дерево импортов не перетряхивает? Мало того, что весь RN впакован, в это я могу поверить, потому что с haste они не могут понять что кому надо и где используется, но обычные импорты тоже... вот на картинке есть react-native-firebase, у меня в приложении ровно три импорта для него в трех файлах:
import { analytics } from 'react-native-firebase'
import { messaging } from 'react-native-firebase'
import { messaging, notifications } from 'react-native-firebase'
А в бандле честно лежит database... очень странно, в общем... сейчас ещё проверю, не тайпскрипт ли там мешает этой оптимизации...
Нет, не typescript... у него на выходе es2015 должен быть... т.е. все импорты/экспорты сохранены


Dmitry
29.09.2018
19:24:25
Сейчас провел забавный эксперимент. Попробовал настроить бандлер так, чтоб он поле module использовал в package.json у модулей, если есть... Это уменьшило размер бандла (здесь и далее продакшн ios минификация) примерно на 300 байт.
Я удивился и добавил туда ещё процессинг esnext:main, что увеличило размер бандла ))) Озадачившись этим странным поведением, я полез разбираться... и вот, такая картина получается (это только то, что в node_modules лежит): http://vovkasm.skitch.vovkasm.org/bundle-size_2160060C.png
Это второй вариант (без esnext:main, там оказалось, что оно moment.js два раза пакует, уж не знаю почему).
Получается, что metro вообще чтоль дерево импортов не перетряхивает? Мало того, что весь RN впакован, в это я могу поверить, потому что с haste они не могут понять что кому надо и где используется, но обычные импорты тоже... вот на картинке есть react-native-firebase, у меня в приложении ровно три импорта для него в трех файлах:
import { analytics } from 'react-native-firebase'
import { messaging } from 'react-native-firebase'
import { messaging, notifications } from 'react-native-firebase'
А в бандле честно лежит database... очень странно, в общем... сейчас ещё проверю, не тайпскрипт ли там мешает этой оптимизации...
moment.js вообще загадочная либа) если снять схему зависимостей webpack, то окажется что момент в бандл тянет все локализации, даже если ниодну из них не подключать)


Iosif
29.09.2018
19:25:37

Gena
29.09.2018
19:25:44

Dmitry
29.09.2018
19:28:34
собственно с ним изначально и заметили это

Google

Max
29.09.2018
19:33:06
Или его данные или хз что, но когда я чистил место на диске, папка этого плагина была за 600
Ирония ?


Gena
29.09.2018
19:36:49
Эээ плагины к vscode это хорошо, но чтоб продакшн бандл в RN посмотреть, лучше всётаки его просто сгенерить с sourcemaps и воспользоваться source-map-explorer, т.е. я вот так делал:
npm i -g source-map-explorer
react-native bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output main.bundle.js --sourcemap-output main.bundle.js.map
source-map-explorer main.bundle.js main.bundle.js.map
Но меня вот что волнует, даже после беглого осмотра этого хозяйства, видно, что можно размер бандла уменьшить довольно значительно. В моем случае раза в полтора, думается...
Где-то 100Kb можно от RN было бы выкинуть - ART, Experimental, Navigation, ListView, BatchedBridge и ещё по мелочам набежит, думаю.
Дальше bluebird, pretty-format - я без них могу прожить (-130Kb)
Дальше, если бы react-native-firebase перетряхивался, то было бы (-100Kb)
Ну и мелочь всякая... regenerator-runtime, который мне не сдался вообще (ну не использую я await), lodash-es с lodash схлопнуть... если бы оптимизация была нормальная ещё бы половина mobx ушла (я довольно мало от него использую)
А, точно... ещё там зачем-то ReactFabric на 70Kb... хотя он экспримент, и его по умолчанию бандлить не надо )
В общем в итоге,думаю бандл был бы не 1.7Mb, а около 1Mb, что как бы значительно лучше...
И в этом свете странно, что когда я haul пробовал, он давал более объемные бандлы, чем metro... надо бы ещё раз проверить