Aleksei
это вот как раз SafeArea
Ivan
Серьезно? :)
Ivan
Ivan
Вот сейф ареа
Ivan
Ivan
Вот так без клавиатуры
Aleksei
вот тут же все нарисовано https://developer.apple.com/documentation/uikit/uiview/positioning_content_relative_to_the_safe_area
Aleksei
кто не переехал, у тех не так будет
Aleksei
Иван
еще надо учитывать что айфон X есть не у всех и кому то оно даром не надо
Ivan
Ну по сути симулятор доступен с 12 сентября, большинство топовых конмпаний имею доступы к прототипам.
Ivan
Aleksei
почему потеря то, работает же 😄
Aleksei
на RN кстати уже давно есть решения
Ivan
Ну как сказать, пока Бигдата сообразит... она скорее за процентиль выкинет :)
Ivan
То есть решения есть, просто компании не парятся, понял, спасибо :)
Aleksei
буквы вроде знакомые, а смысл всего предложения не понял
Dmitry 🦄
Всем привет! Подскажите плиз, вот в RN есть по сути AsyncStorage и мы в целом можем там хранить все что нам потребуется. Но так же у нас есть redux store (ну или иной другой модуль) в котором мы храним данные для текущей сессии по сути. Чем помимо знакомого всем интерфейса работы со стором лучше использование в проекте под RN redux, так как большинство данные и так в конечном итоге будут лежат в AsyncStorage (если я правильно понимаю его назначение). Т.е redux это больше за архитектуру в случае RN или все же есть разница именно в рамках мобильного приложения.
Ivan
буквы вроде знакомые, а смысл всего предложения не понял
Ну бизнес решает вопросы через аналитику. В аналитике есть срезы данных по процентилям. Эти отказы могут быть за рамками выборки и пока бизнес узнает в чем же проблема - пройдёт много времени.
Я не могу говорит за всех пользователей но как iOS разработчик понимаю как тяжело удержать пользователей в нашем круговороте :)
Aleksei
Aleksei
Ivan
Evgeniy
Dmitry 🦄
тем самым нужен ли нам redux
Evgeniy
зачем крутить что-то своё, если есть решение, которое отлично работает?
Dmitry 🦄
так как в любом случае мы будем сохранять все в AsyncStorage
Evgeniy
как тогда сделать механизм обновления рендера? чтоб когда мы изменим что то в AsyncStorage, автоматом запускался рендер, я так понимаю, в редаксе именно это основная фишка
Aleksei
Evgeniy
Dmitry 🦄
AsyncStorage + обертка которая за ним следит и обновляет компонент по сути делает тоже
Aleksei
нет, даже близко нет
Ilia
redux синхронный, если че, а AsyncStorage - видно из названия
Ilia
AsyncStorage - это максимум ассинзронный паб/саб
Ilia
Ну и редакс это больше чем пабсаб, это еще и коннект
Aleksei
какой еще AsyncStorage pub/sub
Aleksei
там даже близко нет такой функиональности
Ilia
Ну если на него подписаться - будет пабсаб
Aleksei
это key value storage
Aleksei
как ты на него подпишешься?
Aleksei
я конечно могу представить как, но это не означает что AsyncStorage pub/sub, только если сам таким сделаешь его
Ilia
А ну тем более
Ilia
Тогда вообще какой то бессмысленный спор
Dmitry 🦄
это не спор, я просто пытаюсь понять что да как
Ilia
Никакой связи и взаимозамемости между редаксом и асинкстораджем нет, в общем
Dmitry 🦄
Т.е к примеру нельзя сделать так. Данные писать в AsyncStorage и потом делать что-то типо await AsyncStorage.getItem и после этого вызывать setState для компонента
Dmitry 🦄
хотя в данном случае так не выйдет(((
Dmitry 🦄
ладно вроде как понял суть спасибо тем кто ответил
Aleksei
сомнительный кейс, это сериализовывать сразу и тут же десериализовывать зачем то
Dmitry 🦄
да это лишнее
Dmitry 🦄
Правильный подход вообщем как я понимаю такой. Юзаем все как обычно через redux store и по потребности то что необходимо просто сохраняем в AsyncStorage
Aleksei
ну а вообще посмотри реалм, хоть и у него есть минусы, но pub/sub там точно есть
Dmitry 🦄
ок
Aleksei
я пытался сделать то о чем ты говоришь с sqlite, но проблема в том что они все асинхронные и кучу связей надо асинхронно обрабатывать
Dmitry 🦄
Да. С таким подходом с легкостью можно выстрелить в ногу
Evgeniy
а как в редаксе можно ресетнуть стор? или делать в каждом редьюсере какую-нибудь реакцию типа
case 'reset':
return initialState;
?
Aleksei
Aleksei
Немного про AsyncStorage и почему для большинства случаев его вполне хватает и можно не тащить "серьезную" БД.
Если ваш стейт меньше 2МБ, то можно даже не париться. Если есть массивные списки и все должно быть доступно оффлайн, тогда все зависит от того нужно ли делать запросы к этим данным, и поддержку каких устройств нужно обеспечить. До 20МБ и при простых запросах, я бы всё ещё использовал комбинацию глобального стейта, не сериализуемого за раз, а по частям + селекторы. https://github.com/ptmt/using-async-storage-in-react-native
Mikhail
Kirill
Kyrylo
https://github.com/hectahertz/react-native-typography
Evgeniy
помню тут кто то скидывал, как очистить StackNavigator в стейте редакса (при разлогине например переходить в экран авторизации, при этом очищая все предыдущие в стеке), не могу найти что то, может кто нибудь подсказать?
Евгений
подскажите, с чем связана данная проблема?я запустил эмулятор версии 6.0, он сейчас подключен
Евгений
Евгений
Evgeniy
я ещё в Path указал пути на всякий случай
Evgeniy
Evgeniy
можешь попробовать так сделать
Евгений
пути на что?
Evgeniy
ну до папок tools и platform-tools в твоей папке сдк
Evgeniy
хотя не знаю, влияет ли это
Евгений
во всех туториалах которые видел - не требовалось
Евгений
но спасибо за вариант