invariance
А. Ну собсна, вот тут описали
чей ты
А. Ну собсна, вот тут описали
я видел , вот и интересуюсь это вообще нормально ?
invariance
это работает. А нормально - понятие относительное
чей ты
выглядит как говно код
invariance
Если хочешь не говнокод, я бы не советовал юзать react navigation
invariance
Он простой, но всегда есть обратная сторона
invariance
потому и простой, в общем то)
invariance
да и в реакт нативе много либ с говнокодом внутри, так что велкам. Я переодически баги фикшу в чужих либах
invariance
с интервалом в 2-3 недели, наверное
Anonymous
без кода это гадание на кофейной гуще
Прошу прощения, можешь подсказать, почему может не находить файл?
invariance
как минимум место где экспорт
Anonymous
Просто массив)
invariance
Хмм
invariance
в таком случае может быть из-за прав на файл
invariance
попробуй сделать sudo chmod 777 data.js
чей ты
Просто массив)
yarn start --reset-cache
Anonymous
в таком случае может быть из-за прав на файл
Благодарю! Проблема оказалась в неправильной директории, кажись. Запутался, когда перетаскивал в редакторе
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
Denis
react-native-device-info
push notification device token
Andrey
😁 ну так смотря чем ты пуши шлешь. Пуш токен выдается сервисом пушей. Меняется даже при переустановке аппки итд
Dmitry
Да
Объясню почему. Как показала практика, работы с кастомизацией таббаров и навбаров связана с болью
Dmitry
Для себя, я отключаю их через setDefaultProps. Делаю ScreenWrapper, в котором реализованы кастомные таббары и навбары и их управление
Denis
😁 ну так смотря чем ты пуши шлешь. Пуш токен выдается сервисом пушей. Меняется даже при переустановке аппки итд
я использую react-native-push-notification , но событие "onRegister" никогда не отстреливает в anrdoid :///
Andrey
@avell случаем не в эмуляторе?
Andrey
@avell смотри может не залинкал либу
Denis
@avell смотри может не залинкал либу
да все залинкал, даже локальные push работают
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
Подскажите пожалуйста как получается что resolve(null) приводит к запуску коллбэка для reject? Может ли это зависеть от версии нода?
Нуже весь код, т.к. есть много ньюансов (к примеру если после вызова resolve, генерится exception, то промис будет режектнут)
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
Попробуйте заменить resolve(value) на return Promise.resolve(value)
Eli
А как тогда лучше из promise вернуть в следующую then() null?
Eli
т.е. resolve и Promise.resolve это не одно и то же?