Artem
ребят, кто-нибудь пилил oauth авторизацию со своим провайдером?
Alex
Gena
Да, это же основная задача пушей)
не совсем. Смотря что вкладывается в понятие "получить". Да, push дойдет, пользователь его увидит. Но сможет ли это уведомление обработать код в приложении до того момента как пользователь на уведомление нажмет - вопрос. А после того, как пользователь нажал на уведомление, приложение уже запустится и не будет "закрыто".
Pasha
Юзаю RN-firebase, обрабатываю нажатия на пуши, открываю нужные экраны и все такое
Gena
Это и мы делаем. Возможно вопрос про другое
Gena
Просто в ios последних версий есть возможность какой-то логики при приходе пуша (а не при клике пользователя на него). Но с firebase есть ньюансы... там чтоб пуш обработать, надо не только реальный пуш получить, но ещё и по сети сходить на сервера firebase за payload. Это может выходить за лимиты, отведенные OS на обработку.
Nikolay
хелп. Может кто сталкивался. У меня есть квадрат в Svg и есть иконка , она тоже в Svg . Так вот, у меня иконка почему-то два раза отрисовывается, есть решение?
Artem
как открть браузер внутри приложения RN? именно нативный браузер
invariance
Artem
WebView?
так он же просто отобразит контент внутри приложения. а нужно прям окно нативного браузера , на ios -сафари, на андройде свой чтобы открылся. и кнопка Done для закрытия всплывшего окна
Aleksei
на ios насколько я знаю надо делать как то так https://github.com/naoufal/react-native-safari-view
Aleksei
на андроиде интент кидать
Artem
такого добиться хочется
https://i.stack.imgur.com/gCwSK.png
Alex
invariance
invariance
а вообще, гугли deep linking
Artem
спасибо! пошел разбираться с предложенными вариантами
Artem
Всем привет. Кто-то делал подобный таймер? Подскажите либу плз
Artem
сейчас гляну спасибо
Nick
Артем
хочу удалить базу данных при выходе с аккаунта, ползьюсь sqlite, SQLite.deleteDatabase({name: 'name.db', location: '~name.db'}), но потом она не хочет сразу создаваться и открываться SQLite.openDatabase({name:'name',createFromLocation:'~name.db'}), выдает ошибку
Артем
может кто сталкивался ?
Yurii
видимо, под капотом оно удаляет файл с опозданием
Yurii
как насчёт просто drop table всего что там внутри есть без удаления самой базы?
Артем
я уже решил
Артем
SQLite.deleteDatabase({name: 'name.db', location: 'default'}, ()=>{
SQLite.openDatabase({name : "name.db", createFromLocation : '~name.db'});
});
Артем
если кому интересно)))
Elena
Ребят, здесь есть есть кто-нибудь из компании
Busfor? Откликнитесь в личку, пожалуйста.
Gena
Я невнимательно видео просмотрел. Всё там хорошо. Они это через промежуточную спецификацию делать собираются. Так что там всё ок. Парсер будет генерить спеку, спека поступать на вход генератора кода.
Gena
По крайней мере, дизайн норм. Как реализация будет, вот это надо смотреть.
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
import {
createStackNavigator,
} from 'react-navigation';
import {
createStore,
applyMiddleware,
combineReducers,
} from 'redux';
import {
reduxifyNavigator,
createReactNavigationReduxMiddleware,
createNavigationReducer,
} from 'react-navigation-redux-helpers';
import { Provider, connect } from 'react-redux';
import React from 'react';
const AppNavigator = createStackNavigator(AppRouteConfigs);
const navReducer = createNavigationReducer(AppNavigator);
const appReducer = combineReducers({
nav: navReducer,
...
});
// Note: createReactNavigationReduxMiddleware must be run before reduxifyNavigator
const middleware = createReactNavigationReduxMiddleware(
"root",
state => state.nav,
);
const App = reduxifyNavigator(AppNavigator, "root");
const mapStateToProps = (state) => ({
state: state.nav,
});
const AppWithNavigationState = connect(mapStateToProps)(App);
const store = createStore(
appReducer,
applyMiddleware(middleware),
);
class Root extends React.Component {
render() {
return (
<Provider store={store}>
<AppWithNavigationState />
</Provider>
);
}
}
Чисто теоритически, если я запишу все детали навигации в app.js, потом смогу, допустим, из какого-нибудь header.js, который будет в homescreen.js, который будет импортирован в app.js сделать this.props.navigation.navigate('pageName') без предварительного импортого этого pageName?
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
знаю, звучит будто я наркоман
Eugene
Из-за этой поддержки redux в rn, свою обвертку сделал
Кек
Eugene
Я пока не придумал что в store пихать, и нужен ли 🤔
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
то есть у меня есть поле screens: 'home', и когда оно меняется другой скрин рендерится
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
я без каких-то либов, чисто на реактивности реакта навигацию сделал
Eugene
https://www.npmjs.com/package/connected-react-navigation
Хд
Eugene
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
🤔
а в app.js
switch(this.props.screens){
case 'first':
return (
<View style={styles.container}>
<Intro />
</View>
);
case 'SignIn':
return (
<View style={styles.container}>
<SignIn />
</View>
); лол
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
еще сделал поле в сторе previousPage, в который пихаю текущий screens при изменении screens, таким образом есть кнопка "Назад"
Σуатск 👦 ягодная 🍒 свежесть ✨ для мытья конф 👪 Без ГМО
но как ты уже догадался, это не рабочий метод, потому-что если кто-то нажмет на кнопку назад из тулбара на андроиде то приложение просто выкинет на меню телефона
Preeternal
для выравнивания текста на экране небходимо получить зависимость между длиной строки (в пикселях) и шириной эрана (в пикселях) . Ширина экрана это легко: Dimensions.get('window').width. Как определить размер занимаемую на экране строкой?
Preeternal
Видимо там надо как то от размера шрифта исходить?
Evgeniy
Evgeniy
вообще судя из вашего описания, это можно сделать по другому, может есть дизайн?
Preeternal
Все просто. Включен горизонтальный скролл виев. Нужно шапке этого скролла текст показать по центру основного экрана (до перемотки)
Preeternal
Preeternal
Спасибо
Valya
Добрый вечер, ищу преподавателя, который проведёт обучение по redux. Подробности в личке, спасибо.
Lzhedmitry
Всем привет, клонирую репозиторий, делаю установку пакетов yarn, и бесконечно крутится спиннер установки, тобишь waiting...
[4/4] 📃 Building fresh packages...
[3/4] ⠐ @mapbox/react-native-mapbox-gl
[2/4] ⠈ postinstall-postinstall
[4/4] ⠈ react-native-router-flux
[-/4] ⠈ waiting...
В чем может быть проблема?
Evgeniy
https://www.npmjs.com/package/react-native-color-wheel
Oleg
всем привет
Oleg
заметил что при частом запуске react-natieve-camera резко увеличивается потребление памяти и телефон начинает тупить
Oleg
так же частые краши которые не поподают в логи
Oleg
кто то с таким сталкивался ?
invariance
https://github.com/wix/react-native-camera-kit мне этот больше зашел
Oleg
мигрировали с него
Oleg
на тот момент не мог уменьшить размер фото и распозновать штрихкоды
page
Всем привет. Мне надо из этого примера загрузить записанный звук на сервер. https://github.com/jsierles/react-native-audio/blob/master/AudioExample/AudioExample.js. Проблема в том, что я не понимаю как по ссылке, где хранится файл (this.state.audioPath в примере) получить сам файл. Может кто-то помочь?
Gena
Gena
Anton
Всем привет! Ребята, такой вопрос, специфический
Я использую SQLite на проекте (react-native-sqlite-storage) и есть необходимость при 1-й загрузке прилаги (или если версия базы обновилась) скачивать целую готовую базу db.sql, класть у себя ее ну и обращаться к ней. Так же качать картинки отдельно в zip, делать unzip и тоже работать с ними. Вопрос - на сколько это возможно? Работать с файловой системой я без проблем нашел как, но вот смущает момент - нужно ли мне ребилдить прилагу если я скачал базу и будет ли доступ положить ее в нужное место (папка www, например)
2-й вариант, безусловно, делать миграцию, но это долгий процесс
Артем
может кто знает есть ли кроссплатформенное решение как узнать когда приложение закрывают/открывают?
Yar
Артем
кто-нибудь использовал это?
Артем
работает и на ios/android?
Yar
Да
Артем
спасибо)
Артем
Артем
на андроиде
Артем
state = {
appState: AppState.currentState
}
componentWillUnmount() {
AppState.removeEventListener('change', this._handleAppStateChange);
}
_handleAppStateChange = (nextAppState: any) => {
if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {
console.log('App has come to the foreground!')
}else{
console.log('app went to background');
}
this.setState({appState: nextAppState});
}
componentDidMount() {
AppState.addEventListener('change', this._handleAppStateChange);
}
Артем
сама прилага работает, ошибка в консоли мне не нравится