Mikhail
Всем привет, ребят я понимаю redux это библотека не про работу с сетью а что-то немного другое? Просто с чистым react не работал, а задача стоит разобраться с react native, что посоветуете для изучения по работе с сетями?
Egor
типа выпилили это, как я понял
Egor
у меня 0.47
Alex
печаль
Mikhail
Или стандартные решения что описываются в https://facebook.github.io/react-native/docs/network.html тоже подходят?
Egor
fetch и что еще нужно =)))
Egor
про какой-то axios еще говорят...
Alex
Alex
@albert https://gist.github.com/alex-nask/64d5e26fec3cd65b88a953cd2d10c1e6 что то типа такого
Roma
Ребят, посоветуйте что-нибудь годное для маскИрованного ввода
Egor
в общем в 46 работает переход от инпута к инпуту через
TextInputState.focusTextInput(findNodeHandle(node))
где node это ref на следующий инпут
Egor
Alex
Egor
поправочка: 0.46, но думаю что будет и в 47 нормально
Danil
Как правильно в RN сетапить анимацию с текущего стейта если другая анимация еще не законченна?
Вот snack: https://snack.expo.io/S1uRQhYDZ
Если тапать на прямоугольник с задержкой 1 секунду, то число красиво баунсит. А если начать быстро тапать, то начинает прыгать.
Alex
Danil
Ну у меня кейс когда анимация может начаться и мне надо просто не заканчивая старую начать новую
Aleksei
Aleksei
да
Roma
Egor
https://www.npmjs.com/package/react-native-masked-text
Danil
Vadim
У react-native-masked-text под капотом https://github.com/vanilla-masker/vanilla-masker
Если хочешь кастомную логику или лень переделывать свой инпут, то в самый раз
Albert
Execution failed for task ':realm:compileReleaseJavaWithJavac'. никто не сталкивался с такой проблемой на андроиде? на ios все норм
Egor
я может быть, но не помню =) постоянно всякое дерьмо с реалм
Egor
например Jest делает временные файлы для realm в папке проекта а пакаджер пытается их упаковать в bundle и виснет
Albert
ну я это заметил на 0.46+ версии, на 0.45 все ок(
Egor
у меня сейчас 0.46 - собрал только что
:realm:compileReleaseJavaWithJavac UP-TO-DATE
всё норм
Egor
не знаю даже
Nikita
Ребята, подскажите плиз, начал изучать redux-saga, пытаюсь понять как реализовать следующий кейс, используя преимущества этой либы: в action должно выполнится 2 запроса, если первый запрос вернет fail, то следующий выполняться не должен, если вернет success, то нужно взять данные от response и выполнить запрос 2 и уже задиспатчить в стор. (Как тут избежать исользования if'ов в worker)
Nikita
// Watcher
function* watchLogin() {
yield takeLatest(actions.LOGIN.REQUEST, login);
}
// Worker
function* login({ facial_image, password, device_imei }) {
// console.log('inaction', action);
const errorCodesValidate = [3000, 3001, 6000];
const result = yield call(fetchValidate, { facial_image }, errorCodesValidate);
if (result.facial_image_id) {
const facial_image_id = result.facial_image_id;
yield call(fetchLogin, { facial_image_id, password, device_imei }, errorCodesValidate);
} else {
// Failure
}
}
Egor
может try / catch ?
Nikita
ну это по сути тот же callback hell, нет?
Egor
function* submitPassCode<T>(action: Action): Iterable<T> {
try {
const passCode: PassCode = action.payload
const userID: any = yield call(api.sendPassCode, passCode)
yield put(submitPassCodeDone())
yield put(setActiveUserID(userID))
} catch (error) {
yield put(submitPassCodeFailure({error}))
}
}
Egor
ну наприме у меня вот так
Egor
если yield call(api.sendPassCode, passCode) валится то отлавливается в catch
Egor
вроде более-менее понятно и линейно в целом
Egor
адок можно и на промисах устроить
Andrew Kiselev
уже лучше. А еще проще писать как:
function* watchLoadComments() {
while (true) {
const {payload} = yield take(CommentsActionTypes.LOAD_COMMENTS_REQUEST);
try {
const {data} = yield call(
axios.get,
/api/comments?last_days=${payload.lastDaysLimit}
);
yield put(CommentsActions.loadComments.success(data));
} catch (error) {
yield put(CommentsActions.loadComments.failure(error));
}
}
}
Egor
тут канал?
Nikita
Andrew Kiselev
да
Egor
где-то должен быть channel =)))
Andrew Kiselev
канал для саги?
Nikita
Сейчас переформулимрую вопрос)
Andrey
Да нормас все, напиши еще одну сагу которая будет слушать результат первой
Egor
Alex
Alex
я юзаю библиотечку своего знакомого - repoint, обертка над изоморфик фетчем
Yuriy
оп, посоветуйте navigation для андройда http://airbnb.io/native-navigation/ , https://github.com/wix/react-native-navigation, или что-то посоветуйте, что бы и redux дружило хорошо
Alex
Yuriy
а кто что юзает?, @alexnask твой личный опыт какой? или не заморачиваться с нативным, хотя имел опыт с NavigatorIOS
Yuriy
@alexnask , а с redux ты его сам дружил, или использовал какую-то библиотеку?
Alex
у них в доках есть пример
Rostyslav
подскажите пикер фото из галере
Rostyslav
что-то подобное как в expo
Rostyslav
было бы круто
Alex
Alex
не знаю какой в expo )
Rostyslav
Rostyslav
Rostyslav
Что в моем случае удевительно)))
Alex
Anton
Всем привет. Стал ошибку постоянно ловить вылет приложения на android - APPNAME be stopping. Причем это прям при запуске приложения появляется, так что даже не подебажить. У кого-то было такое?
Aleksandr
Было, было из за плагина react native blur, было из за сломанного манифеста и тп
Aleksei
Yuriy
товарищи, спасибо)
Aleksei
react-native-navigation кстати тоже не советую)
Vit
Виксовскую?
Aleksei
Vit
А че там? Так и не допилили до ума? Я в прошлом году смотрел, когда андроида еще толком не поддерживало