ილია შარუპიჩ
Andrei
Есть задача уведомлять пользователя о том, что нужно внести платёж. Пока что планируем сделать только локальные пуши. Для этих целей думаю использовать https://github.com/zo0r/react-native-push-notification Но пользователь может внести платёж не через приложение, а через сайт банка или через личный кабинет в вебе. Думаю для проверки этого использовать https://github.com/jamesisaac/react-native-background-task (делать запросы на бэк и проверять необходимость внесения платежа), чтобы если что отменять пуши или планировать новые. Есть какие-то подводные камни или ещё что-то можете посоветовать?
AMar4enko
Если есть возможность держаться от background-task подальше, я бы держался
AMar4enko
iOS Background Fetch will not continue to run after a user manually closes the app.
AMar4enko
Вот и что с этим делать?
AMar4enko
Это все костыли, лучше сделать минимальный сервер и с него слать нормальные пуши
Илья
Ребят подскажите как подобную анимацию сделать?? я обычные анимации через Animated умею делать но вот такое вообще хз как
Andrei
Это все костыли, лучше сделать минимальный сервер и с него слать нормальные пуши
Блин, я согласен, но похоже на первое время придётся смириться
Andrei
Либо забить на то, что пуш может быть с устаревшей инфой
Denis
Есть задача уведомлять пользователя о том, что нужно внести платёж. Пока что планируем сделать только локальные пуши. Для этих целей думаю использовать https://github.com/zo0r/react-native-push-notification Но пользователь может внести платёж не через приложение, а через сайт банка или через личный кабинет в вебе. Думаю для проверки этого использовать https://github.com/jamesisaac/react-native-background-task (делать запросы на бэк и проверять необходимость внесения платежа), чтобы если что отменять пуши или планировать новые. Есть какие-то подводные камни или ещё что-то можете посоветовать?
На некотрых телефонах background-task ведет себя ну очень странно (у меня такой на huawei было), ставишь какой нибудь интервал и он срабатывает ну очень рандомно (ставишь раз в 15 мин а он вызывается раз в пару часов или реже). Видимо оболчка производителя душит аппки. На самсунге было все норм. Так что учитывай это, если нужно чтобы пользователь был точно уведомлен - лучше обычный пуш заюзать.
Denis
это android, на iOS было более мнее стабильно с background-task
Andrei
это android, на iOS было более мнее стабильно с background-task
Так на iOS печально, что он не будет отрабатывать, если пользователь закроет аппку
Vitaliy
Либо забить на то, что пуш может быть с устаревшей инфой
по silent push будить приложение и проверять на бэке как вариант, создавать локальные нотификашки и т.д.
Denis
silent push будет идеальным вариантом
Erlan
Всем привет. Подскажите в чем может быть проблема то что токен автоматом стирается когда приложение закрываешь и снова при открытии попадаю на логин страницу. Использую asyncStorage. У кого была такая ошибка ? Заранее спасибо.
Demuz
Привет всем. Подскажите, что случилось со SwitchNavigator'ом в react-navigation v5? Не могу его найти в документации.
dan
Там теперь другое апи. Теперь это делается иначе.
Gena
Я использую async/await и вот set и get делаю.
Ну и? App сразу рендерится. С каким стейтом? Что там появится до чтения токена?
A
Привет, ребята. Подскажите как в react navigator, в createBottomTabNavigator установить прозрачный фон? именно для таба
Vlad
tailwind-rn Порт css-фреймворка tailwind на ReactNative. Те, кто плотно занимаются разработкой на данной технологии, наверное, смогут познать всю прелесь данной библиотеки. 🌐 Lang: #JavaScript, #ReactNative 📎 Repo: https://github.com/vadimdemedes/tailwind-rn
Андрей
Всем привет , такой вопрос какие лицензи нужны для разработку для iOS?
Олег
Всем привет, использую redux для хранения цветной темы, ключ для темы прилетает с сервера для каждого пользователя своя тема, но если использовать store в отдельном файле с темами он берет начальную тему, как можно обновить StyleSheet
Олег
アレクサンダー・バキマトフ
С каких пор оно не так работает?
когда ты просто запускаешь команду и ничего кроме этого?
Gena
Всем привет, использую redux для хранения цветной темы, ключ для темы прилетает с сервера для каждого пользователя своя тема, но если использовать store в отдельном файле с темами он берет начальную тему, как можно обновить StyleSheet
Никак. Просто не надо использовать StyleSheet для таких вещей. И не надо пытаться использовать для таких вещей статические данные (export default StyleSheet.create). Если у вас динамические данные, то они и должны быть динамическими. Если redux, то это стейт. Если данные вычисляемые, то в redux это селектор.
AMar4enko
Можно кастомный эффект-креатор запилить, который будет принимать функцию с аргументом "тема" и возвращать эффект, меняющийся при изменении значения контекста, и возвращающий StyleSheet
AMar4enko
В контекст запихивать тему на основании redux стейта
AMar4enko
AMar4enko
Что-то такое, наверное
アレクサンダー・バキマトフ
Ну да. Телефон подцепил и запустил.
ток перед этим вот это сделать)
Anatoly
ток перед этим вот это сделать)
Никогда в adb не лазил. Зачем? Ну про дебаг - ну хз, у меня дебаг в андроиде отродясь всегда включен
アレクサンダー・バキマトフ
Никогда в adb не лазил. Зачем? Ну про дебаг - ну хз, у меня дебаг в андроиде отродясь всегда включен
короче я это к тому что не просто тип вбил команду и понеслось, манипуляции хоть и минимальные сделать надо, не более
アレクサンダー・バキマトフ
а судя по вопросу человека ему как раз adb devices попробовать чекнуть стоило
AMar4enko
выручил, немного костыль, но когда старый код и сроки поджимают именно то 👍
По-хорошему лучше использовать какие-нибудь styled-components
AMar4enko
Там темы есть
AMar4enko
https://github.com/styled-components/styled-components
Олег
По-хорошему лучше использовать какие-нибудь styled-components
+, тоже за сss-in-js, правда styled-components жуть не люблю)
AMar4enko
Ну суть понятна, какая-то обертка. А там уже на выбор
Alex
Скажите, useState, операция установки переменной синхронная? У меня в коде, setVariable(false); И ниже вызов функции, где используется эта переменная состояния. И в этой функции variable до сих пор остаётся true. Я так понимаю, какая-то гонка выходит? Раньше у установки состояния был промис или колбек, который гарантировал, что переменная состояния установлена и можно с ней работать. А в useState как это работает? Или я не правильно к архитектуре подошёл и надо использовать другой инструмент?
Alexey
Вопрос такой,использую safeareaview для последних айфонов,чтобы не перекрывался контент,но столкнулся с проблемой,что есть layout,который должен быть на всю поверхность экрана,даже за saveareaview,Но этот компонент вложен в saveareaview,Как мне такое реализовать?EXPO,react native
AMar4enko
let [variable, setVariable] = useState(); Речь об этом?
Alex
Да
AMar4enko
Т.е. setVariable(1) и ниже по коду вы хотите, чтобы variable был 1?
AMar4enko
Нет конечно
AMar4enko
Здесь речь не о синхронности
AMar4enko
Вон у вас присвоение переменной. Какое значение присвоилось при вызове useState, такое и будет
AMar4enko
Это же не черная магия
Alex
Не понял? Например, есть у меня setMessages(массив), оно работает только потому, что висит эффект зависящий от переменной и в нем логика. А ту переменную, я использовал, что бы ставить метку, надо обращаться к серверу или нет. И получается, что когда происходит событие в true. Если я переоткрываю окно с другими пропсами, то оно устанавливается в false и далее логика обращения к серверу. Возможно, я тут по архитектуре не правильно сделал и это переделаю. Но получается, что нет гарантии, что переменная установилась даже в контексте одной функции?
AMar4enko
Покажите кусок кода
AMar4enko
Лучше в gist
Alex
Ок, но тогда чуть попозже👌
Dmitry
Ребят, может кто сталкивался с таким багом?Если закрыл модалку, зашел на нее обратно, такая вот фигня с инпутом происходит, в чем дело?
Юрий
Всем привет. Подскажите пож, разве resolve (2) не должен дождаться полного выполнения ДВУХ await (1) ?
Andrei
а вот это достаточно один раз объявить?
Demuz
Ребята, подскажите в react-navigation v5 можно как-то передать пропсы из родителя? В данном случае в WelcomeStackNative.
Alex
setParam/getParams
Maxim
Можно как-то менять bundle id в xcode для dev и prod? Не хочется чтобы приложение с testflight заменяло dev приложение
Demuz
setParam/getParams
А их нельзя как-то динамически менять? Без сет/гет? Как чтобы как обычный пропс работал?
Maxim
Вроде так можно,
Vitaliy
Можно как-то менять bundle id в xcode для dev и prod? Не хочется чтобы приложение с testflight заменяло dev приложение
при сборке просто меняйте суффикс, в зависимости от схемы. главное не запутайтесь, debug/release и dev/stage/prod - это не одно и то же в testflight тоже летит release-сборка (в терминах RN), но окружение вы уже задаёте схемой (alpha/beta/dev/stage/prod - как удобнее, так и называете)
dan
Ребята, подскажите в react-navigation v5 можно как-то передать пропсы из родителя? В данном случае в WelcomeStackNative.
Вот так передать: navigation.navigate('Details', { itemId: 86, otherParam: 'anything you want here', }); Вот так забрать: const Details = ({ route }) => { const itemId = route.params.itemId; return <></> }
Demuz
Stack.Screen component={(props) => <WelcomeStackNative {...props} param='foo'/>}
Looks like you're passing an inline function for 'component' prop for the screen 'WelcomeStack' (e.g. component={() => <SomeComponent />}). Passing an inline function will cause the component state to be lost on re-render and cause perf issues since it's re-created every render. You can pass the function as children to 'Screen' instead to achieve the desired behaviour.