Кирилл
кто подскажет зачем round иконки нужны?
Это связано с адаптивностью - https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive Тут вот написано
Nikita
всем привет, кто то знает как с Экспо открыть загруженный файл? гружу файл .docx через FileSystem.downloadAsync, получаю uri типо такого : file:///data/user/0/host.exp.exponent/files/ExperienceData/qweqwe/small.docx а что с этим uri потом делать нифига не понятно ) как открыть файл блин?)
Jack
Ему скормишь uri
Jack
Он сам разберётся
Nick
Привет, коллеги вопрос: трекаются ли js-level exceptions когда юзаешь crashlytics, например https://rnfirebase.io имплементация ?
Никита
вот в таком виде приходит падения
Никита
но это именно падения прилки, просто в exceprion выбрасывается ошибка из js, минифицированного правда
Vladimir
Кто пользовался react-native-elements? Там есть ресайз размеров, например текстов под плашнеты, смартфоны?
Vladimir
Помню юзал react-native-base, на плашнетах их текта очень мелко смотрятся
Basil
Привет. Вопрос по AsyncStorage. Кто подскажет что я делаю не так? я сохраняю массив в сторе, но когда достаю его назад он возвращается в извращенной форме. Пример: Изначальная строка - [{"tem":"1","humidity":94,"date":"12/27/2018","time":"9:21:05 AM"},{"tem":"1","humidity":94,"date":"12/27/2018","time":"9:21:12 AM"}]. ГетАйтем возвращает вот такое: [{"_40":0,"_65":1,"_55":[{"tem":"1","humidity":94,"date":"12/27/2018","time":"9:21:05 AM"}],"_72":null},{"tem":"1","humidity":94,"date":"12/27/2018","time":"9:21:12 AM"}]. Что я делаю не так?
Alexsandr
а когда вытаскиваешь делай json.parse
Vladimir
кто-что делает что бы шрифты одинаково смотрелись на разных по величене дисплеях?
Basil
ну так я отправляю массив через джейсон стрингифай, а достаю через парс
Alexsandr
как делаешь
Alexsandr
вот resizeText.js
Alexsandr
но это очень общая штука
Alexsandr
надо будет делать, под каждый случай индивидуально
Basil
const updateUserPlaces = (state, newData) => { let updatedData = state.userPlaces.slice(); updatedData.push(newData); saveToLocal(JSON.stringify(updatedData)); return updatedData; };
Никита
на первый взгляд
Никита
или логается промис
Alexsandr
тут промис сохраняется
попробуй async, но думаю проблема в другом
Dmitry
и лучше на гисте
Никита
вот это намекает на то что в AsyncStorage сохраняется промис {"_40":0,"_65":1,"_55": я бы предположил что там где делается setItem нужно сделать например setItem(await …) саму функцию соответственно сделать async тупое решение не глядя в код
Dmitry
Тут скорее то, что updatedData уже с промисом
Basil
https://jsbin.com/kijofonaxa/1/edit?html,js,output
Basil
На гит еще не кидал
Gena
кто-что делает что бы шрифты одинаково смотрелись на разных по величене дисплеях?
Для начала стоит определить, что значит "шрифты одинаково смотрелись"... Для меня это "имели одинаковый угловой размер для пользователя" и тогда для iOS почти ничего делать не надо.
Basil
Это мой первый тест таск, и я методом тыка учусь
Alexsandr
const getStorageValue = async () => { let value = await AsyncStorage.getItem("userData"); let retrivedValue = JSON.parse(value); return retrivedValue; };
Alexsandr
вот тут у тебя промис возращается
Alexsandr
так как ты его дергаешь в синхроной функции
Dmitry
вот это тот случай, когда использование синков неявно
Dmitry
ты можешь вызывать async как с await так и без
Gena
так как ты его дергаешь в синхроной функции
Это просто очередной пример в копилку "гениальных" дизайнеров современного js )))
Vladimir
Alexsandr
почему?
import { isIphoneX } from "react-native-iphone-x-helper";
Vladimir
и?
Gena
какой ты злой)
Потому что я вижу сколько ошибок делают люди в этих async/await... промисы и так тема непростая, а тут это ещё и скрывается за код, который очень легко путается с обычным синхронным )
Gena
нашел https://www.npmjs.com/package/react-native-responsive-fontsize
Но он не сохраняет угловой размер )
Alexsandr
и?
короче тебе проще свою тузлу под это заточить
Gena
Вот, кстати, на хабре есть про это, почитайте: https://habr.com/post/412081/
Alexsandr
тем более, я на 100% уверен, что я младше вас) и нужно обходиться без сарказмов, сори за оффтоп)
Dmitry
короче тебе проще свою тузлу под это заточить
async/await это неудачная попытка имиировать синхронный код
Dmitry
я уже писал, что реализация в js этих методов совсем неудачная, потому что нет жесткого контроля, как и где их использовать
Basil
А какие еще есть варианты сохранить инфу на девайсе?
Dmitry
это тред про шрифты)
не на то ответил)
Dmitry
в моем понимании нужно либо использовать Promise, либо async/await и тогда уже await вызывать только внутри async и не давать их вызывать без await и не внутри async
Dmitry
но тут вызывай откуда хочешь и как хочешь, а следовательно и отлаживай, как хочешь
Basil
Ну вот в том коде что я кинул на JS Bin. Есть какие нибудь мысли как сделать правильно. Там всего пара функций
Basil
?
Dmitry
Никто внутри редьюсеров не получает данные снаружи
Dmitry
их диспатчить надо
Dmitry
case actionTypes.CHECK_USER_DATA: { const data = getStorageValue(); return { ...state, userPlaces: [data] }; }
Dmitry
так быть не должно
Alexsandr
https://facebook.github.io/react-native/docs/asyncstorage
рекомендую начать вот с этого
Basil
Это моя первая работа на реакт нейтив. Мне рекрутер написала типа мол нам нужен джун, на тебе тестовое. Я всю ночь писал епку и она уже готова. Осталось только вот ЭТО
Basil
...
Dmitry
интресный джун
Dmitry
в любом случае, это плохо. Тебе лучше почитать просто основы redux и как его применять.
Dmitry
А как решить твою проблему, я думал ты уже понял.. Избавься от асинков, или делай их везде
Basil
Да я редакс норм умею применять. Просто я писал епку на угад. Я не знал ничего о реакт нейтив до этого. Конечно если сейчас с нуля переписать то можно архитектуру нормально спланировать
Basil
просто времени нет