Nick
вопрос в том, какую задачу пытаешься решить :) в функциональных компонентах есть своя прелесть: тебе вообще не нужно контролировать контекст. благодаря тому, что функции наследуют родительский контекст, у тебя всегда есть доступ к переменным/функциям из контекста выше
Nick
то есть тебе не нужно генерить функцию, которой ты передаешь сеттер стейта, он и так доступен
Ilya
ребят, всем привет. Появилась проблема c ios notifications (а именно react-native-firebase) при переходе с RN 0.59.10 до 0.60.4. Нотификации приходтя только в firebase.messaging().onMessage , а в firebase.notifications().onNotification() перестали приходить. Все делал по доке, но никак не могу понять что не так. Пробывал переходить с версии которую использовал в 0.59.10 эта была 4.3.8 до 5.3.6, но ничего не помогает. В firebase консоли пытаюсь отправить нотификаху на токен устройства и на ios не приходит, а с андроидом все ок. Мб кто знает что нужно делать?
Nick
вот такой код отработает без проблем: const [myState, setMyState] = useState(false) const handler = () => { setMyState(true) } return <SomeComponent onSomething={handler}/>
Gena
О! Извините, что вклиниваюсь, но тут забавная статья от dropbox'еров... при том, что, например упоминаемую там djinni я использовал до перехода на RN. https://blogs.dropbox.com/tech/2019/08/the-not-so-hidden-cost-of-sharing-code-between-ios-and-android/
Irakliy
тоже можно, но, опять же, редкий кейс. такое может быть полезно при рендере каких-нибудь списков или чего-то подобного. в условно простых компонентах это излишне
просто пока не привык к хукам редакс контексту, нужно, например, передать данные пользователя (имя, возраст и т.д) для редактирования, естественно каждое поле редактируется отдельно, но на одном общем экране
Irakliy
данные при иницилизации записываются в стейт компонента, а потом редактируются и прокидываются обратно в реакт контекст
Irakliy
вот и было интересно можно ли какую-то одну функцию накатать для этого, чтобы не писать на каждый текстИнпут отдельную функцию
Stanislav
в реакт веб через event.target.name делают часто
Nick
просто пока не привык к хукам редакс контексту, нужно, например, передать данные пользователя (имя, возраст и т.д) для редактирования, естественно каждое поле редактируется отдельно, но на одном общем экране
а, ну в этом случае да, имеет смысл сделать функцию, которая будет принимать сеттер и возвращать обработчик, да. как ты выше показал что-то типа const [firstName, setFirstName] = useState(props.firstName) const [lastName, setLastName] = useState(props.lastName) const userInputHandler = (setState) => (e) => { setState(e.text) } return ( <View> <TextInput placeholder="First name" onTextChange={userInputHandler(setFirstName)} value={firstName}/> <TextInput placeholder="Last name" onTextChange={userInputHandler(setLastName)} value={lastName}/> </View> )
Danila
как запретить горизонтальную ориентацию в андроиде?
Nick
как запретить горизонтальную ориентацию в андроиде?
в манифесте своей активити пропиши android:screenOrientation="portrait"
Vadim
Detox или Appium?
Ilya
в манифесте своей активити пропиши android:screenOrientation="portrait"
Это решение крашит приложение на android 8.0 (oreo)
Nick
тестирую на oreo, не замечал крашей что-то
Ilya
Я вручную в mainactivity прописывал ориенацию
Ilya
А версия rn ?
Nick
0.59
Ilya
64 бит apk ?
Nick
32
Nick
надо на 64 проверить
Ilya
а тогда может быть
Ilya
Потому что у меня 64 крашилась
Nick
спасибо за наводку, ща проверю. хотя судя по отчетам плея на х64 крашей не было
Ilya
хм интересно, возможно у тебя есть styles.xml ?
Nick
да, есть
Ilya
Я видел, что чтобы избежать этого бага там пару свойств надо прописать
Ilya
https://stackoverflow.com/questions/48072438/java-lang-illegalstateexception-only-fullscreen-opaque-activities-can-request-o
Ilya
Вот и ошибка какую мне выдало в adb logcat
Nick
очень странно. я ничего подобного не прописывал у себя. target sdk тоже 28, такую ошибку не видел
Nick
все без проблем запустилось
Nick
а, понял. у меня тема прописана для application, а не для activity и там используется AppCompat.Light.NoActionBar
Irakliy
https://snack.expo.io/SJ0orTfNr можно так попробовать
но это же с обычным стейтом?
Daniil
Добрый день. Тыкаю палкой в react-native-firebase и хочу использовать их нотификацию https://rnfirebase.io/docs/v5.x.x/notifications/displaying-notifications Но что - то по доке настроить под Андроид не получатеся. Может я в глаза конечно долблюсь. Тыкните в пример пожалуйста доки или своей настройки.
Ilya
А разве 5 версия корректно работает с RN 0.60+ ?
Хм, у меня просто показывывает что 5.3.6 максимальная версия
Stanislav
но это же с обычным стейтом?
изменил на ф-ю https://snack.expo.io/ryaEP6zES
Khorark
Khorark
Ilya
втф, webstorm мне просто показывает 5.3.6
Ilya
бля
Khorark
Но в 6 версии нет модуля notification
Khorark
По крайней мере пока
Khorark
Так что....
Ilya
мдя
Ilya
так что я понял
Ilya
спасибо
Khorark
Khorark
спасибо
You're welcome
Irakliy
изменил на ф-ю https://snack.expo.io/ryaEP6zES
хм, а ведь действительно, почему бы не передать объект
Stanislav
хм, а ведь действительно, почему бы не передать объект
но когда стейт становится еще больше, лучше useReducer использовать
Irakliy
спасибо
Vadim
Detox или Appium?
Кто-нибудь? )
Uncle Bob’s Nephew
Привет всем у меня старая версия react-native, я знаю в 59 в версии решили вопрос с выпуском 64 разрядной версии в market place, как мне ручками добавить для моей версии
Vasyl
привет всем.. помогите плиз сделать бэкграунд картинку на сплэш скрин (ios) 🤔
Alisher
https://medium.com/handlebar-labs/how-to-add-a-splash-screen-to-a-react-native-app-ios-and-android-30a3cec835ae
Vasyl
как сделать картинку я понял, а как фоном кариинку фуллскрином сделать еще не наклацал 🙈
Nick
а, сплэш
Vasyl
👍
Nick
тогда react-native-splash-screen в помощь
Vasyl
а ок, покопаю либу эту, спс )
Denis
а кто-нибудь юзал Animated с хуками? Нужно ли какие-то доп кастомные хуки ставить?
Filipp
а ок, покопаю либу эту, спс )
у меня есть ощущение что react-native-navigation и react-native-splash-screen могут конлфиктовать в нативной части на андроиде в некоторых случаях, что может вызывать рантайм краши, так что я бы дважды подумал над react-native-splash-screen если используешь react-native-navigation
Narek
всем привет
Narek
https://github.com/facebook/react-native-fbsdk/issues/620
Narek
славливаю такую ошибку
Narek
не могу понять в чем дело
Narek
может кто решал?
Мағжан
Манифест покажи
Narek
Манифест покажи
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="мой.пакет"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> </application> </manifest>
Necromant
Можно ли из react js сайта сделать react native приложение?
Necromant
Если да то объясните пожалуйста как или киньте ссылку