Alexandr
Eugene
Такс, товарищи, а можно как-то глобально всем <Text> задать дефолтные стили, типа шрифта/размера?
Nick
https://stackoverflow.com/a/43901843, тут описано из-за чего (переполнение)
Aynur
Eugene
Alexandr
Max
Привет! Есть AWS апи гейтвей с лямбдами под ним. В него стучатся с реакт-нейтив апликейшена. На всех девайсах всё ок, и только на сбилдженой апке айфона на некоторые запросы лажа вида: Response: HTTP/2.0 403
x-cache: Error from cloudfront
Content-Type: text/html
Server: CloudFront Если кто встречал - подскажите пожалуйста как лечить...
Max
при чём на емуляторе айфона ок, - проблема только на уже сбилдженой апке
Eugene
Ivan
да, но зависит от задач и размеров проекта, как вариант
Ivan
ну вот приспичило заказчику запретить зум шрифтов, текст используется 300+ раз, везде менять на кастомный компонент или добавить дефолтный пропс?
Nikita
В чем, собственно, сложность сделать обёртку над Text и использовать?
Ivan
имхо, есть шанс, что при замене в куче файлов что-то где-то может пойти не так.
да, если изначально везде используется обертка - без проблем.
я просто предложил альтернативу
Vit
а у код-пуша никаких ограничений по кол-ву юзеров не появилось случайно?
Illiа
Всем привет!!!
Вопрос по joltup/rn-fetch-blob и скачиванию файлов с сервера.
Кто-то сталкивался с крашем приложения андроида при попытке скачать файл больше 50mb???? иос норм качает...
Vladimir
Illiа
@kozhevnikovv не могу понять(точнее в логах ничего), просто выбрасывает приложение... как я понимаю падает когда сервер возвращает ответ. Читам что это может быть связано с памятью?
Vladimir
в логах должно быть что-нибудь 🙂 вы их через logcat смотрите?
Vladimir
В случае с памятью вы должны получить out of memory exception, я не знаком с имплементацией rn-fetch-blob, но мне кажется что скачивание целиком в пямять было-бы очень наивным подходом.
Illiа
Peter
Vladimir
как-то подозрительно однородно выглядят логи, такое ощущение что они отфильтрованы по тэгу 🙂 Откройте через студию и не мучайтесь.
Illiа
@DrLance другие файлы размером меньше нормальна качает. Я думаю это рили что-то с памятью...
Illiа
@kozhevnikovv
java.lang.OutOfMemoryError: Failed to allocate a 207553950 byte allocation with 4194304 free bytes and 178MB until OOM
Сергій
207 метров аллоцирушь, жесть 😁
Illiа
Что делать? ))
Сергій
в зависимости что это
Сергій
не читать в память например
Illiа
Оуууу, эта библиотека позволит мне это?
Сергій
без понятия
Сергій
Illiа
@desugar да. http://prntscr.com/lf3sz3
@DrLance по ходу fileCache не помогает((
Сергій
Peter
Alexander
Как в metro.config.js указать путь до .babelrc?
Illiа
@desugar в res параметри файла
Illiа
@DrLance @desugar у меня такое ощущение что все валится еще в запросе к апи. Потому что что бы я не менял в конфигах RNFetchBlob, ничего не помогает.
Егор
привет. Вывожу в элемент ScrollView список элементов с уникальными key uuid.v4 но отображается все рано либо один либо ничего. при перезагрузке отображаются все. а как начинаю добавлять убавлять остается только последний. посмотрел по данным все в порядке все ключи сохраняются. в чем может быть причина?
Illiа
может функцию проверку?
Illiа
когда грузишь компонент, проверь, пришла ли картинка, если нет ставь заглушку и делай запрос еще раз
Alexander
А в react-native можно определить, дебаг версия сейчас или продакшн?
Evgeniy
Егор
помогло только генерировать key непосредственно в момент рендера <View key={uuid.v4()}> но блин что за фигня 👺
Егор
еще я mobx использую, но сомневаюсь что в нем проблема все ключи уникальные ["5a7d6387-45a6-46f0-9f0d-8174235057e7", "2f0f58f4-e84c-4709-98cf-83a34b63352d", "24c167db-85bc-4fe5-88fb-0d0a2ba5f620"]
Dmitry
Егор
renderItems = (id: string) => {
const { financeType, mainStore } = this.props;
const item = { ...mainStore[financeType][id] };
console.log(id, item);
return (
<View key={uuid.v4()}>
<Item
right={[
{
text: 'Изменить',
backgroundColor: '#0f0',
onPress: () => {
mainStore.change(financeType, id);
this.handleAdd();
},
},
{
text: 'Удалить',
backgroundColor: '#f00',
onPress: () => {
mainStore.remove(financeType, id);
},
},
]}
>
<ItemContainer>
<ItemText>{item.title}</ItemText>
<ItemText>{item.count}</ItemText>
<ItemText>{item.price}</ItemText>
</ItemContainer>
</Item>
</View>
);
};
render() {
const { financeType, mainStore } = this.props;
const { buffer, setBufferCount, setBufferTitle, setBufferPrice } = mainStore;
const keys = [...Object.keys(mainStore[financeType])];
console.log(keys);
return (
<Container>
<ScrollContainer
contentContainerStyle={{
paddingTop: 30,
}}
>
{keys.map(this.renderItems)}
</ScrollContainer>
<ModalDialog
show={this.state.modalDialogShow}
title={buffer.title}
count={Number(buffer.count)}
price={Number(buffer.price)}
setTitle={setBufferTitle}
setCount={setBufferCount}
setPrice={setBufferPrice}
onSave={this.handleSavePress}
/>
<Button onPress={this.handleAdd} text="Добавить" primary={true} />
</Container>
);
}
Dmitry
хм, ну для начала я бы убрал стрелочную функцию в renderItems
Dmitry
но это так, в ряд ли из-за этого
Aleksei
renderItems = (id: string) => {
const { financeType, mainStore } = this.props;
const item = { ...mainStore[financeType][id] };
console.log(id, item);
return (
<View key={uuid.v4()}>
<Item
right={[
{
text: 'Изменить',
backgroundColor: '#0f0',
onPress: () => {
mainStore.change(financeType, id);
this.handleAdd();
},
},
{
text: 'Удалить',
backgroundColor: '#f00',
onPress: () => {
mainStore.remove(financeType, id);
},
},
]}
>
<ItemContainer>
<ItemText>{item.title}</ItemText>
<ItemText>{item.count}</ItemText>
<ItemText>{item.price}</ItemText>
</ItemContainer>
</Item>
</View>
);
};
render() {
const { financeType, mainStore } = this.props;
const { buffer, setBufferCount, setBufferTitle, setBufferPrice } = mainStore;
const keys = [...Object.keys(mainStore[financeType])];
console.log(keys);
return (
<Container>
<ScrollContainer
contentContainerStyle={{
paddingTop: 30,
}}
>
{keys.map(this.renderItems)}
</ScrollContainer>
<ModalDialog
show={this.state.modalDialogShow}
title={buffer.title}
count={Number(buffer.count)}
price={Number(buffer.price)}
setTitle={setBufferTitle}
setCount={setBufferCount}
setPrice={setBufferPrice}
onSave={this.handleSavePress}
/>
<Button onPress={this.handleAdd} text="Добавить" primary={true} />
</Container>
);
}
ScrollContainer тоже скиньте плз
Dmitry
Народ, уже обыскался, но так и не нашел путного описания. У меня есть реализация приложения с сокетами, которые используются внутри mobx. Но получается, что сторы создаются при старте приложения. А если мне например нужно сначала авторизоваться, получить токены, а потом уже создать сторы с сокетами, как лучше и правильнее такое организовать...Это все еще и усложняется RNN v2
Eugene
🤔кто как flow настраивает в ide/webstorm?
Такое ощущение что он иногда прям игнорит мои компоненты и файлы, хотя в консоле чекает и пишет no errors 🤔
или дело в ide хм
Aleksei
Vit
Щас тут у юниоров от слова синглтон пригорит)
Dmitry
Aleksei
ну я принципе так и думал
из проблем: нужно внимательнее к ссылкам на сторы относится, так как может в необычном месте обращение к null выйти
Владимир
Владимир
ага. я обычно делаю по стору на экран и один-два глобальных для всякой инфы о пользлвателе и т. д.
Eli
Привет всем! Объсните плиз, в чем принципиальная разница межда Action creators и Reducers?
Vlad
Eli
уже решилось, спасибо
Illiа
Все привет. Как боротся с java.lang.OutOfMemoryError? Кто-то с этим сталкивался?
Я загуглил и в AndroidManifest.xml вписал 2 строки:
android:hardwareAccelerated="false"
android:largeHeap="true"
Но не помогает(((
Elizaveta
Всем привет! Подскажите плз, на андроид эмуляторе при запросах выдает ошибку Network Error, как это зарешать? В манифесте пермишн на интернет выставлен
Nick
Ivan
не загрузка файлов случаем?
Elizaveta
Nick
ага, работает
на все реквесты так сыпется или только если на ваш сервак идти?
Nick
Сергей
это корсы
Сергей
попробуй на хром поставить расширение
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi
Aleksei
какие корсы в мобильном приложении
Сергей
если я правильно понял проблему
Сергей
какие корсы в мобильном приложении
Сергей
https://github.com/facebook/react-native/issues/18006