invariance
А вот хз
Gena
KeyboardAvoidingView (https://facebook.github.io/react-native/docs/keyboardavoidingview) используется чтоб некую область подтюнить, когда клавиатура выезжает (например оставить поле ввода видимым). Я на самом деле имел ввиду не только его, но вообще всё, что слушает события появления/исчезновения клавиатуры и что-то делает с лэйаутом пользуясь её размерами.
invariance
Думаю работает как раньше
Gena
Лучше потестировать )
invariance
Ну у меня таких элементов просто нет пока что
invariance
Но кстати удобная штука
invariance
Ща проверю
invariance
хотя не, не проверю, негде пока что проверять)
Gena
Я просто думал, что у вас экран как раз из-за этого дергается при скрытии, потому что там ресайз RootView должен происходить синхронно с анимацией клавиатуры, а на Android это в принципе невозможно сейчас.
invariance
Да не
Gena
Слушайте, я тут размышляю как мне сделать фичу "юзер после авторизации/регистрации продолжает начатое действие" наиболее понятным и простым способом. И вот пока всё вертится вокруг реализации паттерна command (https://en.wikipedia.org/wiki/Command_pattern) в приложении. Т.е. вместо вызова метода с параметрами, создается сериализуемый объект, который описывает требуемое действие (и да, это похоже на action в redux, отчасти...) если эта "команда" требует авторизации, а пользователь "гость", то "команда" укладывается в стек в модель, дальше происходят разные процессы (авторизации или регистрация, м.б. восстановление пароля и т.п.) по окончанию которых достается из стека что там лежит (или если ничего нет, то дефолт - "команда: покажи главный экран") и запускается на выполнение.
Я сильно переусложняю? Кто-то делал подобное?
akasybe
звучит логично
Andrey
Девелоперы, как можно отловить входящий номер телефона?
Andrey
Вроде как нельзя именно номер, ну а вдруг кто то сталкивался
Andrey
Уже не плохо
Andrey
Но кажется выдернуть сам номер нельзя
Dmitry
Слушайте, я тут размышляю как мне сделать фичу "юзер после авторизации/регистрации продолжает начатое действие" наиболее понятным и простым способом. И вот пока всё вертится вокруг реализации паттерна command (https://en.wikipedia.org/wiki/Command_pattern) в приложении. Т.е. вместо вызова метода с параметрами, создается сериализуемый объект, который описывает требуемое действие (и да, это похоже на action в redux, отчасти...) если эта "команда" требует авторизации, а пользователь "гость", то "команда" укладывается в стек в модель, дальше происходят разные процессы (авторизации или регистрация, м.б. восстановление пароля и т.п.) по окончанию которых достается из стека что там лежит (или если ничего нет, то дефолт - "команда: покажи главный экран") и запускается на выполнение.
Я сильно переусложняю? Кто-то делал подобное?
Я делал такую штуку. У меня есть функция, которая отправляет данные
Dmitry
Если пользователь авторизован, то выполняется, если нет - перекидывается на авторизацию, ждет авторизации и продолжает выполнение
Dmitry
Основная идея была в том, что мне не хотелось перекидываться на авторизацию, а потом уже заново делать вызов изначальной функции, поэтому она фактически сама выполняется по-шагово, причем нет проблем в том, чтобы добавить еще последовательных шагов, вызов функции все равно один будет
wystan_hugh
Gena
Слушайте, я тут размышляю как мне сделать фичу "юзер после авторизации/регистрации продолжает начатое действие" наиболее понятным и простым способом. И вот пока всё вертится вокруг реализации паттерна command (https://en.wikipedia.org/wiki/Command_pattern) в приложении. Т.е. вместо вызова метода с параметрами, создается сериализуемый объект, который описывает требуемое действие (и да, это похоже на action в redux, отчасти...) если эта "команда" требует авторизации, а пользователь "гость", то "команда" укладывается в стек в модель, дальше происходят разные процессы (авторизации или регистрация, м.б. восстановление пароля и т.п.) по окончанию которых достается из стека что там лежит (или если ничего нет, то дефолт - "команда: покажи главный экран") и запускается на выполнение.
Я сильно переусложняю? Кто-то делал подобное?
Ага! Всем спасибо за комментарии! Понял, что я не пытаюсь ничего переусложнить и общая схема многим знакома. Значит можно делать )
Dmitry
✨ Uni
Всем привет, а что можно почитать на русском для обучения реакт нативу + expo? В пине не нашел ничего такого, а гугл выдает только всякие статьи
Kirill
Я бы доку почитал )
Kirill
Тогда советую все равно начать читать, даже на английском.
Kirill
Тк без англа в программировании - никак
Kirill
А так я рил хз про русские курсы по рн
Kirill
Возможно есть кастомные переводы доки на русский язык. До официального перевода реакта на русский, было оч много сайтов, где люди сами переводили и там можно было почитать. Мб с рн так же
Almas
всем хай ,знает ли кто-нибудь аналоги этой либы?
Almas
https://github.com/SamuelZhaoY/ios-emojikeyboard
Denis
Подскажите, в каких ситуациях стоит использовать redux-persist? С докой ознакомился, но вот не совсем понятно когда стоит использовать
Dmitry
Kirill
))
Kirill
Ну мы его юзаем в качестве локальной базки данных, которая удобно работает с redux.
Kirill
Вот только у них все сетается в asyncStorage, а фб выносят asyncStorage, в отдельный пакет. Но ребята из персиста, видимо, не спешат с обновлением, поэтому в консоли вечно варнинг по этому поводу
Denis
Такую анимацию верхнего бара можно реализовать с помощью навигация от викса?
Denis
Kamo
Кто-то юзает react-navigation?
Никто не сталкивался с проблемой, что метод:
this.props.navigation.addListener('willFocus', () => {...}) не всегда отрабатывает?
Kamo
Или как вы вообще обрабатываете ситуации, когда нужно обновлять данные каждый раз, когда экран показывается?
Eugene
Eugene
🤔но лучше наверное заюзать onDidFocus - ибо с onWillFocus - если будет там много обновлений - будет задержка в переходе
Eugene
Anonymous
Привет, парни какая разница между DOM и VirtualDOM, кроме того что виртуал не отрисовывает, на практике как чувствуется
Sm•ok
Vitaly
Kamo
Kamo
Andrii
Всех с праздником !
вопрос
LayoutAnimation.configureNext
create - это как будет отображаться следущая анимация ( новая)
update - это как обновленная ---- но я так понимаю мы ее нигде не сможем уже увидеть
например мы делаем какой то переклюатель состояния
отображаем две компоненты A B
if true --> display A
if !true --> display B
когда компоненты переключаются
анимация из метода create отображается
но анимацию из метода update я не успеваю заметить
возникает вопроос - ЧЯДНТ ? или как ее увидеть
LayoutAnimation.configureNext({
duration: 3000,
create: {
type: LayoutAnimation.Types.easeInEaseOut,
},
update: {
type: LayoutAnimation.Types.spring,
property: LayoutAnimation.Properties.opacity,
springDamping: 0.2,
},
});
Stas
Кто пользуется detox? Я не понимаю одну штуку. Когда выбираешь jest, как тест-раннер, то он выполняет все тесты, а потом показывает внизу какую-то непонятную ошибку. А когда выбираешь mocha, то он выполняет тесты и показывает прогресс по мере прохождения и при той же ошибке показывает понятную ошибку с описанием и ui трейсом. То есть, mocha гораздо понятнее показывает что произошло. Так вот, я не понимаю, это принципиальная разница между этими тест-раннерами или я неправильно настроил jest (шел по их документации)? Я также пробовал это запустить с expo раннее и насколько я понял, там был тоже jest и показывались такие же понятные ошибки.
Stas
Stas
Dmitry
Какие карты посоветуете использовать ?
invariance
https://github.com/react-native-community/react-native-maps
Jamshidbek
invariance
кто-нибудь юзал на андроиде?
https://github.com/oblador/react-native-lightbox
Stas
Dmitry
invariance
Подскажите по стилям, как можно сделать высоту элемента 100%, а ширину - по контенту. Контент - картинка
Anonymous
Gena
invariance
Спасибо всем, решил вопрос)
invariance
invariance
через flexDirection решил
invariance
конечно кривенько эта либа работает...
Vittore8
Привет, можеткто подскажет как пользоваться отладкой в vsc?
Vittore8
подскажите пожалуйста при запуске приложения, как зайти в эту функцию
Vittore8
Debug Android стоит
Kirill
потруси телефон и включи удаленную отладку
Gena
Привет, можеткто подскажет как пользоваться отладкой в vsc?
Подсказать не могу. Я дебажил через chrome, это муторно и неприятно, поэтому предпочитаю пользоваться другими способами разработки ПО. Проблемы дебаггинга в RN:
- Транспиляция, сорсмэпы повышают сложность и как следствие дебаг часто ломается не стабилен от релиза к релизу
- Удаленный дебаг повышает сложность и не может полностью эмулировать нативную среду, следствия те же, что в п. 1
- Дебаг происходит в v8 в хроме, что в принципе создает не эквивалентную среду выполнения в совсем другом движке
invariance
invariance
Я пробовал, в сравнении с реактом оч круто (в плане процесса разработки), но очень не хватает развитых ресурсов
invariance
в смысле готовых либ
Gena
А не думал на флаттер пересесть, кстати?
Думал, повертел его... и... пожалуй не буду. Если в RN ещё можно свести концы с концами и разобраться в исходниках, то флаттер прям очень сложный. Дальше, в нем в принципе нет нативных элементов UI (не могло быть архитектурно, когда я смотрел последний раз).
Gena
А. Ещё мне Dart не понравился...