Dmitry
Нормально, что при фокусе на TextInput клавиатура не отображается (expo + iOS)?
Vitaliy
А если "на вскидку" и "в двух словах", в чем его преимущество? (если есть)
- webview - их нет )) (т.к. всё не нативно, сравнивать не оч правильно)
Jurij
Хм...а "компонетная база шире" - не?
Jurij
Или, скажем, "истинный css\scss"
Jurij
Хм...ну да, "не нативность" это минус.
Maxim 📱 D
Хм...а "компонетная база шире" - не?
То же самое что из браузера сайт открыть
Jurij
То же самое что из браузера сайт открыть
Но иногда это оправдано? Я имею ввиду преемственность кода, скорость переноса и т.д.
Irakliy
Но иногда это оправдано? Я имею ввиду преемственность кода, скорость переноса и т.д.
толку от приложения, если это, по-сути, мобильная версия сайта?
Jurij
Если не надо что-то сложное, завязанное на железе, интерфейсная морда.
Maxim 📱 D
Да, за час уже выкладывать можно если есть сверстанный под мобилу сайт
Irakliy
я не уверен, но, кажется, у Юникло приложение на такой хрени сделано
Irakliy
и оно ужасно
Maxim 📱 D
Только для этого любой фреймворк подойдёт)
Anatoly
Кто-нибудь знаком с Ionic Framework?
У меня 1,5 года опыта работы с ним
Anatoly
Из плюсов (хотя кому как) - angular. Из минусов - всё остальное
Jurij
В целом разобрался, спасибо.
Anatoly
Для прототипирования - ок. Для несложных приложений - ок. Что-то сложное и хитрое делать - там такая боль начинается, особенно касательно нативных плюшек - что волосы рвать начнёшь
Vitaliy
написано же что это react?
Недавно добавили, да. На выбор.
Anatoly
написано же что это react?
ionic изначально это angular + cordova (для работы с нативом). Сейчас можно ангуляр заменить на vue и react.
Anatoly
Суть остаётся та же: это webview с сайтом, упакованным в приложение.
Anatoly
Если у тебя на телефоне запущено 2 приложения на стандартных портах - одно заменяет другое, и получает данные другого. Сталкивался с этим на одном проекте, когда приложения в паре работают.
Anatoly
Мы вот с лета перешли на RN и довольны, возможностей стало больше, всё более гибко. Ещё можно в сторону flutter посмотреть, там тоже много интересного, и возможстей и гибкости хватает
Игорь
Товарищи. Доброго времени суток. Ткните носом. К примеру есть { объект } со списком скринов и настроек для каждого скрина, как мне его в navigationDrawer запихать?
Игорь
Первым аргументов в createDrawerNavigation передаю - говорит undefined
Yurii
Первым аргументов в createDrawerNavigation передаю - говорит undefined
const pages = { login : { screen : LoginPage } } createDrawerNavigation({...pages}, {initialRouteName : 'login'})
Yurii
Спасибо большое. Сейчас попробую
если много скринов, делаете обьект обьектов и потом ...array должно по идее работать
Bogdan
подскажите либы, что бы по тачу войти и пароль навесить на екран или пароль это уже не либы задача?
Bogdan
Спасибо большое. Сейчас попробую
мне понравилось делать каждому пункту в бургере свой стек, тогда в createDrawerNavigation передать обьект и ключам присвоить то, что вернет createNavigationStack
Yurii
Спасибо большое. Сейчас попробую
во, дописал сверху прям под ваш случай
Игорь
во, дописал сверху прям под ваш случай
Блин, я совсем туплю. У меня в объекте ключи - строка, и названия скринов - строка. Реакт ругается, что должен быть компонент. Хм. Ща еще подумаю) пока не подсказывайте
Yurii
Блин, я совсем туплю. У меня в объекте ключи - строка, и названия скринов - строка. Реакт ругается, что должен быть компонент. Хм. Ща еще подумаю) пока не подсказывайте
так куда же вы строку))) в доке же посмотрите что туда нужно передавать компонент import LoginPage from '../screens/LoginPage'; screen : LoginPage
Игорь
так куда же вы строку))) в доке же посмотрите что туда нужно передавать компонент import LoginPage from '../screens/LoginPage'; screen : LoginPage
Угу разобрался. Теперь нужно как-то придумать, как динамически в зависимости от получаемого в объекте строкового названия скрина, подставить реальный обьект
Игорь
Дело в том, что я с бэкэнда получаю обьект с настройками навигации, если кратко
Игорь
Там у меня список итемов, настройки иконок и лейблы
Игорь
Ну в двух словах
Игорь
Похоже через условие придется делать
Bogdan
мапни конфиг, пока мапаешь показывай лоадер
Игорь
мапни конфиг, пока мапаешь показывай лоадер
Полагаю map это коллекция? А как мне это потом обратно собрать в обьект?
Игорь
Или не верно понял?
Игорь
Только постигаю основы js)
Yurii
Или не верно понял?
у вас с бэка приходит название скрина?
Игорь
Ну будет приходить строка, типа news#ios-star#Новости, которую я просплитчу по # и получу news - название скрина, ios-star - название иконки, Новости - лейбл
Bogdan
Полагаю map это коллекция? А как мне это потом обратно собрать в обьект?
ну тебе приходит массив роутов поидее, мапни, пройдись, если вложенный - рекурсивно, создай свой конфиг на его основе, передай в навигатор
Bogdan
Ну будет приходить строка, типа news#ios-star#Новости, которую я просплитчу по # и получу news - название скрина, ios-star - название иконки, Новости - лейбл
а , строка, лол, ну тогда тоже самое по строке, разбить по # поидее, но это бред, потому что ты не поймешь, что идет за знаком #
Bogdan
можно типо # - родетель, ## - узел и тому подобное, что бы можно было распарсить строку нормально
Игорь
Придет json обьект
Игорь
Со строками
Игорь
Строку разбить на массив не проблема
Игорь
По итогу вообщем имеем массив
Игорь
В котором 0 это название скрина
Игорь
1 это иконка
Игорь
2 это лейбл
Bogdan
ну вот его и делай в свой обьекь
Yurii
Та распарсить всю эту движуху это самое легкое что может быть
Yurii
тебе надо подставить компонент
Игорь
Ну я вижу решение только через условный оператор
Bogdan
сделать реекспорт всех страниц, импортнуть обьектом, по ключамс подставлять, попробуй вот так
Bogdan
https://www.npmjs.com/package/react-native-touch-id для тача эта либа норм?
Bogdan
да и face id там етсь
а для того, что бы показать екран с паролем для входа, что подходит?
Yurii
Ну я вижу решение только через условный оператор
делай обьект скринов obj[namerootscreenfromback].reallyScreenonfront как то вот так
Yurii
https://www.npmjs.com/package/react-native-touch-id для тача эта либа норм?
я использую. норм либа но в гите написано Note: This library is not currently actively maintained.
Max
а для того, что бы показать екран с паролем для входа, что подходит?
ну эта либа только для работы с биометрией, остальное сам
Bogdan
ну эта либа только для работы с биометрией, остальное сам
с паролем, к примеру - показать роут при старте, с паролем, там чекать его, если верный, пустить домой? но скрин этот показывать еще если юзер авторизован?
Bogdan
а как не пускать на роут? эту логику делать в странице самой? например в веб реакте можно было сделать гарды, да и вообще при старте приложения сформировать роутинг, редиректить, если гард не прошел проверку
Bogdan
да я вообще не пойму, как в рн это делается
Bogdan
логика куда напрявлять юзера ваша, либа чисто для работы с био
я не пойму как направлять, где это решать, делать обетки? или делают в компоненте все?
Max
глобально компонет и в нем решал куда пускать юзера, а экран с паролем вынес бы в роут с типом модал
Bogdan
вот так в вебе я делал, но что то смотрю, такое не прокатит в рн
Bogdan
глобально компонет и в нем решал куда пускать юзера, а экран с паролем вынес бы в роут с типом модал
о, вот еще мне не понятно, типо модалка - это модалка, почему ее через роут контролируют?
Max
ну в реак навигации есть тип экран и модал
Max
здесь тебе подойдет модал
Max
можешь сделать hoc и обернуть нужную часть приложения