invariance
А. Ну собсна, вот тут описали
invariance
это работает. А нормально - понятие относительное
чей ты
выглядит как говно код
invariance
Если хочешь не говнокод, я бы не советовал юзать react navigation
invariance
Он простой, но всегда есть обратная сторона
invariance
потому и простой, в общем то)
invariance
да и в реакт нативе много либ с говнокодом внутри, так что велкам. Я переодически баги фикшу в чужих либах
invariance
с интервалом в 2-3 недели, наверное
Anonymous
invariance
invariance
как минимум место где экспорт
Anonymous
Anonymous
Просто массив)
invariance
Хмм
invariance
в таком случае может быть из-за прав на файл
invariance
попробуй сделать sudo chmod 777 data.js
Anonymous
mcombat
подскажите как замокать нативный модуль в jest ?
Ivan
а потом говорят что президенты не срут в подъездах
A
господа, есть вопрос к тем кто использовал graphql + apollo. Зачем к этому стеку могут добавить mobx?
A
в рамках react-native приложения
Eugene
для ui стора?
A
что такое ui стор?
Andrey
там же в аполо клиенте есть менеджер состояния
invariance
хранилка стэйта интерфейса
Andrey
как бы ни редукс ни мобх не нужен
Eugene
invariance
A
тогда для чего apollo? чтобы хэндлить graphql запросы?
invariance
ну так да... Он для этого и предназначен
Andrey
@invariance пробовали apollo-link-state?
Andrey
или так просто?
A
@playra может ты знаешь? зачем в стеке graphql - apollo client ещё и mobx?
invariance
зачем мне юзать синхронизатор данных для управления стейтом UI?
invariance
это даже звучит как костыль
A
+ наверное, чтобы сделать persist
A
нужен mobx
A
но я не уверен(
Andrey
аполо умеет персист
A
тогда я в замешательстве
Andrey
@alexandertorn меня поставили были перед дедлайном в 4 дня. выкатить МВП. апи графкуэл
Andrey
почитал доки, ничего не понял, плюнул и доставал данные axios и ложил в привычный редукс
Andrey
может тот же случай)
Andrey
там похоже @playra заценил аполо линк стейт...может расскажет
A
да, я тут нашёл артикл от отцов-основателей https://blog.apollographql.com/the-future-of-state-management-dd410864cae2
A
как раз по моему вопросу
Denis
Ребята, а как получить android device-token ?
Andrey
react-native-device-info
Andrey
😁 ну так смотря чем ты пуши шлешь. Пуш токен выдается сервисом пушей. Меняется даже при переустановке аппки итд
Dmitry
Да
Объясню почему. Как показала практика, работы с кастомизацией таббаров и навбаров связана с болью
Dmitry
Для себя, я отключаю их через setDefaultProps. Делаю ScreenWrapper, в котором реализованы кастомные таббары и навбары и их управление
Andrey
@avell случаем не в эмуляторе?
Denis
Andrey
@avell смотри может не залинкал либу
Andrey
хз) https://github.com/zo0r/react-native-push-notification/issues/910 читал?
Andrey
я рнфс юзал, фотки складывал во внешнюю память только и вьювер локально в аппке свой делал
Andrey
а че там?
Gena
Андроид в библиотеку добавляет не сами файлы, а мета-инфу о них после идексации. В RNFS есть метод для того чтоб "дернуть" индексатор.
Gena
https://github.com/itinance/react-native-fs#android-only-scanfilepath-string-promisestring
(и да, это общая теория об андроид, на практике я не делал такую задачу ни разу)
Gena
И собственно сама документация: https://developer.android.com/reference/android/media/MediaScannerConnection#scanFile(java.lang.String,%2520java.lang.String)
Eli
Подскажите пожалуйста как получается что resolve(null) приводит к запуску коллбэка для reject? Может ли это зависеть от версии нода?
Gena
Gena
Чет я это написал и засомневался... в общем, ньюансов там много, но конкретный пример может быть не верен.
Gena
О! Теперь мы точно знаем что это работает )
Gena
Не спрятан, просто забыли/не успели... надо PR на апдейт тайпингов им заслать )
Gena
Я когда-то очень давно наталкивался на эту проблему вообще вне кода. И тогда документации было сильно меньше. Что-то типа того, что у меня файловый менеджер фотки и музыку копировал, а посмотреть/послушать было нельзя, плеер/галерея не видели ничего... методом тыка я тогда дошел до того, что рестарт телефона помогает. А потом уже когда читал API документацию про провайдеров, понял почему так было... вот и запомнил )
Gena
А вызов в react-native-fs этот я видел, потому что код его валидировал на качество перед использованием
Gena
Есть плюсы, есть минусы... и тут не в открытости дело, по моему )
Eli
Нуже весь код, т.к. есть много ньюансов (к примеру если после вызова resolve, генерится exception, то промис будет режектнут)
function myFunc() {
let tablesRef = store.collection("table")
let random = getRandomInt()
return tablesRef
.where("random", ">", random)
.orderBy("random")
.limit(1).get().then(snapshot => {
if (!snapshot.empty) {
resolve(snapshot.docs[0])
} else {
return tablesRef.where("random", "<=", random)
.orderBy("randomValue")
.limit(1).get()
}
}).then(snapshot => {
if (!snapshot.empty) {
resolve(snapshot.docs[0])
} else {
resolve(null) // <--- На этом месте в myFunc().then(funcA, funcB) выполнится funcB
}
})
}
Gena
Gena
Попробуйте заменить resolve(value) на return Promise.resolve(value)
Eli
А как тогда лучше из promise вернуть в следующую then() null?
Eli
т.е. resolve и Promise.resolve это не одно и то же?