Dr
Всем привет. Использую redux-persist. Столкнулся с такой проблемой. Добавил новую переменную в редакс и дефолтным значением true. Дальше в коде делаю проверку этой переменной, но персист ее не инициализирует, и поэтому просто выдает undefined. Т.е. если я вызову экшн, то дальше все будет нормально. Проблема только в первоночальном состоянии. Сталкивался кто-нибудь с таким?
Timur
Здравствуйте. Можете мне подсказать как понять redux?
https://m.habr.com/ru/post/439104/ статья на хабре про устройство redux
Dr
просто персист подтягивает значения из асинк стораджа, т.к. новой переменной там еще нету, то оно и не будет ее создавать, до тех пор, пока не вызовится первый экшн
Dr
можно, но разве это правильно, при условии что initialState существует?
ossset
Привет всем, прдскажите пожалуйста, хочу чтобы одна кнопка хендлила на 1 эвент 2 действия (2 функции) как можно такое сделать?
ossset
В общем да
Irakliy
ну так в чём проблема?
ossset
Передать 2 onPress?
Irakliy
const handler = () => { func1() func2() } ...onPress={this.handler}...
ウラジミール
Где option в пропсах будет передавать метод
Anton
Ребят, устанавливаю react-native-fbsdk и получаю такую ошибку. Второй день сижу, гуглю и не один совет не помогает. Может кто сталкивался?
Mikhail
Всем доброго дня! Кто нибудь знает как сделать, чтобы позиция пользователя (showsUserLocation) отображалась над кастомным маркером на iOS? react-native-maps библиотека используется, карты гугл. P.S. кроме варианта отслеживания местонахождения самому и отрисовки позиции как маркера
Dmitry
Кто нибудь сталкивался с такой ошибкой при сборке андройд? A problem occurred evaluating project ':app'. > Could not find method include() for arguments [armeabi-v7a, x86, arm64-v8a, x86_64]
Dmitry
При этом AS никак не подсвечивает эту строку в build.gradle
Какк
@quarrant как у тебя задаются abiFilters?
Dmitry
эм нет
Dmitry
а стоп
Valentyn
вроде было что-то похожее, решил прямой ссылкой на репозиторий
Maria_rm
Добрый день всем. Ищу автора\главадмина этого канала. Напишите в личку плиз, есть вопрос
Dmitry
У тебя так?
defaultConfig { ... ndk { abiFilters "armeabi-v7a", "x86" } } и splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86" } }
Какк
@quarrant убери abiFilters из defaultConfig
Какк
тебе же нужно чтобы собиралось 2 апк для 2 архитектур, правильно?)
Dmitry
тебе же нужно чтобы собиралось 2 апк для 2 архитектур, правильно?)
мне нужно, чтобы он просто собиралось, после перехода на 59 RN
Anton
вроде было что-то похожее, решил прямой ссылкой на репозиторий
а что-то дополнительно надо делать? или просто заменил то что на скрине в package.json?
Anton
Просто заменил, ну и rm -rf node_modules && yarn
а на какой версии рн ставил fbsdk?
Valentyn
Я апдейтился с 0.59
Какк
@quarrant а у enableSeparateBuildPerCPUArchitecture у тебя какое значение?
Dmitry
false
ossset
Подскажите как очистить текст филд после сабмита?
Anton
вроде было что-то похожее, решил прямой ссылкой на репозиторий
не подскажешь, а что наличие аккаунта разработчика обязательно?
Anton
Вроде да, точно не знаю
а если не сложно, можешь посмотреть у тебя в Other Linker Flags то же самое?
Anton
хмм, чето нифига не собирается
Khorark
Не тебе)
Gena
мне нужно, чтобы он просто собиралось, после перехода на 59 RN
Попробуй вот так сделать, как в шаблоне изначальном (если ещё не решил): https://github.com/facebook/react-native/blob/0.59-stable/template/android/app/build.gradle#L89-L138 И тоже из этого шаблона: Версию gradle: 5.4.1 (https://github.com/facebook/react-native/blob/0.59-stable/template/android/gradle/wrapper/gradle-wrapper.properties#L3) Версию android gradle plugin: 3.4.0 (https://github.com/facebook/react-native/blob/0.59-stable/template/android/build.gradle#L4-L20)
Khorark
Пусть лучше сюда зайдет
Gena
Пусть лучше сюда зайдет
Там несколько файлов всего, в каждом довольно маленький блок, проще иногда поверх скопировать, чем дифф руками накатывать... но rn-diff хорош. Полный апгрейд я сам по нему много раз делал.
Gena
А ты перешел на 60 версию в итоге или нет пока?
Я перешел на 60 + some cherry picks (https://github.com/vovkasm/react-native/tree/woof/0.60-dev). И мне пока не нравится. Но... мы работаем. Основное отличие у меня сейчас, что все импорты в коде RN относительные, это значит, что можно попробовать натравить на продакшн бандл rollup. Но я ещё в процессе, в частности там надо ещё изжить ленивые геттеры в интерфейсе, иначе они убьют все оптимизации, вот здесь: https://github.com/vovkasm/react-native/blob/woof/0.60-dev/Libraries/react-native/react-native-implementation.js#L17
Gena
Но. Первый продакшн билд с этим появится на днях, т.е. на массе пользователей ещё не испытано.
Gena
Там ещё как всегда... в коде RN одновременно происходят несколько независимых длительных процессов и это лишает его какой-бы то ни было стабильности. Сейчас активно внедряют интерфейс с C++ через кодогенерацию, это вынуждает их переписывать почти все нативные модули/компоненты - вычленять оттуда нативный интерфейс в отдельные файлы, которые потом будет тулза генерить. Это не позволяет нормально переносить коммиты из мастера в стабильную ветку... грустно...
Gena
Полностю новый проект делали и потом кодовую базу переносили или старый адаптировали?
Нет, это старый проект, по крайней мере пока я участвую в девелопменте приложения, я его обновляю регулярно.
Stas
можно ли RefreshControl-у добавить отступ сверху на ios? не двигая весь scrollview вниз?
Gena
можно ли RefreshControl-у добавить отступ сверху на ios? не двигая весь scrollview вниз?
Кастомному наверняка, а стандартному... надо пробовать... т.к. он же там когда в scroll вставлен, работает с ним в связке как pull-to-refresh... т.е. двигается... не знаю, это может влиять
Gena
А с обновлением библиотек проблем не было при переходе?
Было. Но почти все, что были, уже были форкнуты. Плюс я же забил на их новый автолинкинг (он пока опционален) и оставил старый кастомный.
Khorark
А так можно?)
Vadim
Обновился с 0.59.3 до 0.59.10 Размер apk уменьшился почти на 10 мб. Нихрена себе.
Gena
Самая большая проблема случилась с sentry, у них AndroidX только в beta, а там они что-то перенапортачили так что, теперь их js раз в 10 больше весить начал в бандле... некоторые части, к примеру пару раз пакуются, один как es modules, а другой как cjs...
Gena
Обновился с 0.59.3 до 0.59.10 Размер apk уменьшился почти на 10 мб. Нихрена себе.
Это не факт что напрямую с версией связано. А можете взять две apk и загнять в сравнивалку в Android Studio? Вот сюда: https://developer.android.com/studio/build/apk-analyzer
Khorark
Самая большая проблема случилась с sentry, у них AndroidX только в beta, а там они что-то перенапортачили так что, теперь их js раз в 10 больше весить начал в бандле... некоторые части, к примеру пару раз пакуются, один как es modules, а другой как cjs...
А по скорости или разумерам бандла есть какие-то преимущества, по сравнению с 59 версией? Хочется ли понять стоит оно того или нет. Потому что у меня тоже sentry и не знаю, стоит ли с этим всем возится
Khorark
Основной посыл перехода для меня в том, что сейчас все новые версии библиотек выходят для 60+ версии
Gena
А по скорости или разумерам бандла есть какие-то преимущества, по сравнению с 59 версией? Хочется ли понять стоит оно того или нет. Потому что у меня тоже sentry и не знаю, стоит ли с этим всем возится
По скорости визуально проблем нет, по размерам у нас случилась деоптимизация в ios и, кажется в Android. В ios это связано с тем, что раньше можно было выборочно subspecs включать из pod React и мы часть ненужную не включали, а теперь они все включены. В android ещё не разбирался в чем дело, да и сравнить сложно довольно до релиза.
Vadim
Gena
Ага, понятно... это скорей всего jsc более новой версии оптимизированный билд (и урезанный, без полного юникода - типа форматов дат)
Gena
Основной посыл перехода для меня в том, что сейчас все новые версии библиотек выходят для 60+ версии
Я вообще не хотел на 0.60 переходить, но мне очень-очень хочется попробовать заоптимайзить js бандл сперва через rollup, а уже потом через metro (или даже haul), а для этого нужно было полностью haste import'ы убрать из кода. Там очень много перелопачивать самому если... А черри-пикнуть их коммиты в ветку 0.59-stable я не смог...
Шахзод
а если не сложно, можешь посмотреть у тебя в Other Linker Flags то же самое?
С 0.60 + версии нужно открывать xcworkspace , у меня была проблема когда открывал xcodeproj
Anton
С 0.60 + версии нужно открывать xcworkspace , у меня была проблема когда открывал xcodeproj
а у меня если и не через xcode открывать падает, react-native run-ios не собирается
Gena
Ну вроде все различия здесь.
Я кстати бы, рекомендовал в aab начать билдиться (`gradlew app:bundleRelease` вместо `gradlew app:assembleRelease`). Скорей всего оконечный размер скачиваемого для пользователей станет ещё меньше.
Stas
Я кстати бы, рекомендовал в aab начать билдиться (`gradlew app:bundleRelease` вместо `gradlew app:assembleRelease`). Скорей всего оконечный размер скачиваемого для пользователей станет ещё меньше.
должен стать почти во всех случаях. Юзер будет получать билд с нативным кодом только своей архитектуры. Тоже с ненужными графическими ресурсами