Vit
Делай как сентри - всю инфу о прошлом прибитии она отправляет при следующем запуске
Maxim 📱 D
Или мысли пессимистично и считай что если приложение свернули =убили
Eduard
В офф документации в AppState ничего не сказано об ивенте что аппа закрылась.
Maxim 📱 D
В офф документации в AppState ничего не сказано об ивенте что аппа закрылась.
Garbage collector не докладывает о том что собирается грохнуть приложение
Eduard
Просто я использую амплитуду в реакт нейтиве и она как бы корректно эти действия выполняет - Session start и Session end.
Eduard
А по требованию кастомера нужно отслеживать и когда свернул развернул аппу и когда именно закрыл (Session end).
Eduard
В иос есть такое - https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623111-applicationwillterminate
Vit
свернул == закрыл
Vit
кастомеру по голове стучалкой постучи)
Eduard
А в андроиде можно смотреть onDestroy на главной активити.
Maxim 📱 D
А в андроиде можно смотреть onDestroy на главной активити.
Можно, только он не всегда сработает)
Vit
можешь эвристики добавить, открыл через минуту после закрытия - считай не закрывал и продлеваешь сессию
Eduard
Ясно, спасибо, как и думал просто скажу кастомеру что он много хочет =)
Vit
он правильно хочет, просто не того)
Maxim 📱 D
Да, ограничения платформы
Vit
допустим приложение приходит в стостояние - ни-туда ни-сюда и его остаётся только прибить)
Sergei
Подскажите как сейчас лучше через react-native init или через expo девелопить? слышал, что expo после какого-то апдейта очень крутым стал, но не знаю насколько
Vit
и так и так - боль)
Вадим
и так и так - боль)
React native - пока сплошная боль для меня
Maxim 📱 D
Подскажите как сейчас лучше через react-native init или через expo девелопить? слышал, что expo после какого-то апдейта очень крутым стал, но не знаю насколько
если ты уверен что тебе хватит встроенных в экспо библиотек и ты абсолютно никогда не полезешь в нативный код делай через экспо ))
Sergei
ну вот через react-native init я страдаю вечными релоадами , все вечно зависает
Vit
мак бук про топовый)
Sergei
Нет. Более того, этот кейс прекрасно работает )
какой кейс работает? с flex 1 ничего не работает
Sergei
Работает )
окей, однако я нашел на стаке идентичную проблему и решение к ней
Gena
окей, однако я нашел на стаке идентичную проблему и решение к ней
Ну и хорошо. А у нас просто работает и всё. Чтоб хоть немного добавить информации к этому спаму, работает следующее: Внутри контекста, где flexDirection column и есть достаточно свободного места по оси y <View style={{flex: 1}}> ... some lements with self height <FlatList style={{ flex: 1 }} /> ... some elements with self height </View> А вообще, если бы действительно была проблема, стоило бы делать минимальный пример и постить баг репорт
Sergei
Сэмпл на гитхаб сделайте )
https://github.com/polanskiy/samples/blob/master/ProductList.js
Gena
https://github.com/polanskiy/samples/blob/master/ProductList.js
Вот я его просто вставил в один из наших экранов и отрендерил это: http://vovkasm.skitch.vovkasm.org/sample_22B92343.png
Alexandr
как затестить persistReducer? Вот мне пишет такое redux-persist: config.storage is required. Try using one of the provided storage engines `import storage from 'redux-persist/lib/storage'` Как правильно сделать mock?
Слава
аверно
Gena
Ну у меня через авд не отображается
Именно поэтому минимальный кейс, в случае RN, это не одинокий файл, а полноценный проект содержащий минимальное кол-во кода. Но не меньше, чем необходимое для запуска и демонстрации проблемы )
Gena
Его легко сделать. react-native init, copy&paste, git commit
Gena
В старых версиях RN, кстати, такого типа проблем было много. Поэтому, если уж не демо, то хотябы версию при её отличии от последней, стоит указывать )
Gena
как затестить persistReducer? Вот мне пишет такое redux-persist: config.storage is required. Try using one of the provided storage engines `import storage from 'redux-persist/lib/storage'` Как правильно сделать mock?
А в чем именно проблема? Как узнать интерфейс для мока? Как его в тестируемый код подсунуть? Или какими инструментами для построения моков пользоваться?
Vlad
Кто-то сталкивался с проблемой? Program type already present при попытке сбилдить проект на Android?
Vlad
Появилась сегодня утром и никак не могу решить
Vall
всем привет, у кого-то было такое что при подключении к редуксу, выбивает ошибка типо с импортами проблема(хотя если коннект убрать, то все ок), если прописывать screen: Login, то ошибка, если же screen : () => <Login />, то все ок, эта ошибка вылетает именно когда в коннект оборачиваю компонент
Gena
Как узнать интерфейс
Вот здесь посмотреть? https://github.com/rt2zz/redux-persist/blob/master/src/types.js#L36
Gena
Как быстрый вариант, да. Его, правда дебажить сложней )
Vadim
Парни ) Кто-нибудь работал с https://github.com/AppsFlyerSDK/react-native-appsflyer?
Gena
Как узнать интерфейс
А, там типы не дописаны, лучше в реализации: https://github.com/rt2zz/redux-persist/blob/master/src/storage/createWebStorage.js#L6
Vetaly
Привет, у вас была такая ошибка Can't find variable: Buffer? Я написал в root index.js import buffer from 'buffer'; global.Buffer = buffer.Buffer; но это не помогло и модуль установил отдельно
Vadim
Я вообще пытаюсь одну проблему таким способом решить. Позднее спрошу
Такой вопрос. Ниже на картинке схематично. Хедер, под ним флэтлист. В процессе скролла, хедер немного сжимается. Проблема в том, что если изменять размер хедера через transform translateY, то между ним и флэтлистом останется область, а хотелось бы, чтобы данные из флэтлиста уходили под хедер. В прошлый раз тут решили, что самый нормальный вариант: дать хедеру position: absolute и изначально загнать флэтлист под него. Я сейчас так и делаю. Работает норм, но есть 2 проблемы: 1. RefreshControl видно значительно хуже (потому что флэтлист под хедером). Стили ему дать никак вроде нельзя. 2. Изначально видно, что ползунок скрола под хедером. Но это не критично, разумеется.
Vadim
Aleksei
так translateY же можно и на вьюху поверх флет листа применить, а не только на хэдер. или я не понял проблемы
Igor
Привет, подскажите, есть ли возможность для android FlatList сделать pull to refresh UI такой как на ios? ios
Igor
Igor
android
Igor
Igor
получается нужно чтобы был bounce еффект, когда тянешь FlatList то вверху появлялся loader
Vlad
Привет, подскажите, есть ли возможность для android FlatList сделать pull to refresh UI такой как на ios? ios
Есть. Элемент в RN такой прям существует, его пропсом в FlatList и передаешь
Igor
он странно себя ведет когда его задаю, подменяю его ActivityIndicator-ом а он на весь лист рендерится(или просто блокирует рендер контента) и не показывает контент FlatList-а, вы так делаете? мне стоит копать в этом направдении? PS refreshing пропс также передаю в FlatList
Aleksei
В смысле флэтлист обернуть во вьюху и тоже ее вверх поднимать?
ну да, просто тебе же Animated.View нужен, только для этого и обернуть
Vadim
ну да, просто тебе же Animated.View нужен, только для этого и обернуть
Скакать все начинает. Видимо, потому что изменяю положение элемента, который и задает изменения.
Vadim
Вот.
Vadim
Гм... т.е. при изменении метрики по оси Y, вы меняете метрику по той же оси? Ну-ну... Я не то чтоб думаю, что это неправильно, есть случаи, когда это можно делать, но выглядит подозрительно. А скачки, думается, с виртуализацией связаны.
Vadim
Я так и пытался сделать.
Aleksei
Скакать все начинает. Видимо, потому что изменяю положение элемента, который и задает изменения.
https://github.com/Sprit3Dan/react-native-supercharged/blob/example-app/Example/src/Home.tsx вот я тут Large Header делал, там фишка в том что у скроллвью у contentContainer есть отступ на размер этого хэдера, и получается что изначально пустое место не видно из хэдера, но по мере скролла контент как будто с хэдером движется
Vadim
а сделайте плиз репу, я завтра потыкаю
Так там абсолютно тоже самое, что у вас. Просто сделайте pull to refresh у scrollview
Aleksei
тот проект уже староват, не уверен что без лишних приседаний получится запустить с ходу))
Aleksei
Могу на expo snack сделать?
конечно, как удобнее
Gena
Ещё один ) Смешал android.compat и androidx в одном проекте )
Alexsandr
Но в целом не сильно больно
Alexsandr
Просто нужно не которые либы скопилить и пребилд скрипт написать :)
Gena
Проблема такая. androidx не может в одном приложении сосуществовать с compat. Google сделали две вещи: 1. конвертер исходников проекта в студии 2. конвертер бинарных библиотек Проблема в том, что RN использует внешние модули не в виде скомпиленных библиотек, а в виде исходников. А конвертера внешних исходников на лету нет.
Gena
Просто нужно не которые либы скопилить и пребилд скрипт написать :)
А что за скрипт? Это уже кто-то автоматизировал?