
Tim
01.08.2018
12:41:34
привет всем, подскажите, мне нужно рандомную картинку, я это делаю <Image require(и тут рандомный путь с помощью footerArray[Math.floor(Math.random() * footerArray.length)]) />

Sergey
01.08.2018
12:42:23
<Image require(и тут рандомный путь с помощью footerArray[Math.floor(Math.random() * footerArray.length)]) />
Welcome to the club
ты не можешь поставить переменную для картинки «в лоб"

Google

Sergey
01.08.2018
12:42:43
?

Alexander
01.08.2018
12:42:45
в require нельзя передавать переменные

Sergey
01.08.2018
12:42:54
надо массив создать и отдельный файл
а оттуда выбирать

Tim
01.08.2018
12:43:19
мм понял ща попробую спасибо!

Sergey
01.08.2018
12:44:25
мм понял ща попробую спасибо!
const images = [
require('../../../assets/details/element_1.png'),
require('../../../assets/details/element_2.png'),
require('../../../assets/details/element_3.png')
]
export default images

Tim
01.08.2018
12:44:49

Sergey
01.08.2018
12:44:49
и инклудишь images в основной файл
ок

Alexander
01.08.2018
12:46:35

Dmitriy
01.08.2018
12:51:34
Я делал объектом. Чтоб можно было обращаться типа images.logo и т.д.

Sergey
01.08.2018
13:00:46

Google

Vladimir
01.08.2018
13:07:05
кто не рекомендует?

Sergey
01.08.2018
13:07:53

あなたの神
01.08.2018
13:08:24

Sergey
01.08.2018
13:09:23
мин, попробую найти ?
Но нюанс ? - Массивы используются, но для объектов и их хранения, а сама информации в объектах, в качестве примера - данные в Firestore

Alexander
01.08.2018
13:32:01
коллеги, а как вы обрабатываете, TypeError: Network request failed ?
например в fetch

Sergey
01.08.2018
13:37:01
через catch(error)
try {} catch(error) {console.log(erro)}

Alexander
01.08.2018
13:39:34
окей
так он выводит все ошибки
мне конкретно по этой ошибке, нужно показывать экран-модалку

Sergey
01.08.2018
13:40:07
если вглубь, возможно как-то можно и выделить отдельную
по идее error.type? как-то можно раскручивать

Alexander
01.08.2018
13:42:22
там нифига нету
в error приходит сплошой текст
в том то и дело

Sergey
01.08.2018
13:43:08
Response.status
?

Google

Alexander
01.08.2018
13:59:19
нету response
catch error срабатывает

Sergey
01.08.2018
14:12:21
тогда по регулярке пропарсить
одна строчка
же

Gena
01.08.2018
14:19:02
Т.е. эффект такой же, как если выполнить вышеприведенный код...

Alexander
01.08.2018
14:21:53
NetInfo нормально юзать для проверки интернета? а то у меня на симуляторе он не очень работает

Gena
01.08.2018
14:21:55
Меня гложут некоторые сомнения... там действительно может не быть объекта Error... насколько я помню, трансляция ошибок из натива этим страдает... но чтоб просто строка в случае ошибки fetch...

Roman
01.08.2018
14:25:46
Что для локализация обычно используете?
react-native-i18n? Или есть что-то другое?

Alexander
01.08.2018
14:28:44
Объекта нет

Alexander
01.08.2018
14:29:03
Возможно кривые руки, но перепроверял 2 раза

Gena
01.08.2018
14:30:38
Возможно кривые руки, но перепроверял 2 раза
Вот этот код: https://github.com/facebook/react-native/blob/0.56-stable/Libraries/vendor/core/whatwg-fetch.js#L504
Должен быть объект, ищите, где вы его стрингифицировали... но по идее единственный способ нормально его отделить от остальных, это читать error.message
Что для локализация обычно используете?
react-native-i18n? Или есть что-то другое?
О, мне тоже интересно!
Сами используем https://github.com/messageformat/messageformat, но этого не хватает... для цифр, валют, дат, надо в идеале использовать Intl, а его нет и полифиллы довольно убоги...
И мне интересны вот эти вещи:
1. Выдергивание строк из кода (так, чтоб с typescript работало), и преобразование во что-то, с чем переводчики умеют работать (типа xliff)
2. Мержинг этого назад с компиляцией в каталог сообщений
3. форматы цифр, валют etc

Жасулан
01.08.2018
18:00:55


Alexander
01.08.2018
19:27:50
О, мне тоже интересно!
Сами используем https://github.com/messageformat/messageformat, но этого не хватает... для цифр, валют, дат, надо в идеале использовать Intl, а его нет и полифиллы довольно убоги...
И мне интересны вот эти вещи:
1. Выдергивание строк из кода (так, чтоб с typescript работало), и преобразование во что-то, с чем переводчики умеют работать (типа xliff)
2. Мержинг этого назад с компиляцией в каталог сообщений
3. форматы цифр, валют etc
Мы для Веба использовали gettext. Притащил его в RN и react для сайта. Фишка gettext, что работаешь со строкой, а не с лангварами.
1. Парсим через react-gettext-parser, понимет и RN. Получаем pot файл. Берем переводы с poeditor.com
2. Мержим с помощью msgmerge из утилиты gettext. Дальше из полученных .po файлов перегоняю в JSON и использую с обычной gettext либой на JS.
Gettext позволяет держать чистоту переводов. Если удалил какой-то текст в коде, то он его потрет и в переводах. Приходилось работать с переводами, которые используют переменные. Там в переводах образовывалась помойка.


Gena
01.08.2018
20:45:33
Мы для Веба использовали gettext. Притащил его в RN и react для сайта. Фишка gettext, что работаешь со строкой, а не с лангварами.
1. Парсим через react-gettext-parser, понимет и RN. Получаем pot файл. Берем переводы с poeditor.com
2. Мержим с помощью msgmerge из утилиты gettext. Дальше из полученных .po файлов перегоняю в JSON и использую с обычной gettext либой на JS.
Gettext позволяет держать чистоту переводов. Если удалил какой-то текст в коде, то он его потрет и в переводах. Приходилось работать с переводами, которые используют переменные. Там в переводах образовывалась помойка.
messageformat мощнее, и это в принципе не мешает работать с самим текстом... т.е. то, что у вас является "ключом", абстрактная константа (лангвар), или сама строка на дефолтном языке не является свойством формата локализации... т.е. да gettext из коробки использует строку на дефолтном языке как ключ, messageformat схемы, традиционно используют константы... мы в прошлом проекте начали с использования строк, но потом всё равно переделали всё на константы (верней добавили их), потому что хотелось уметь сохранить переводы при небольших корректировках текста, даже не сами переводы, а информацию о них... т.е. вот наш пример из предидущего проекта:
<Text style={style.description}>
{_t('devices.noData.description',
`{MODE, select, day{В выбранный день} week{На выбранной неделе} month{В выбранном месяце}` +
`other{В выбранном периоде}} данных нет.`,
{ MODE: this.props.selectedCalendarMode })}</Text>
Чтоб было понятно, мне больше нравится использовать само сообщение как ключ к локализации, это позволяет не париться с перегенерацией локалей при разработке. Но так теряются переводы при смене строки, я просто не придумал другого способа сохранить переводы, как добавить уникальный ключ.
А вот с Intl в RN реально проблема. Если с датами ещё как-то можно бороться, т.к. у moment есть своя локализация для них, то вот моя попытка недавно форматировать валюты феерически провалилась... надо было цену товара показывать, ну я и сделал через Intl... красиво так получилось... на входе 1000, на выходе "1 000,00 ₽" с неразрывными пробелами, всё как надо... на iOS... когда запустил на Android, понял, что попал ))) В итоге свой форматтер писал ))

Google

Peter
02.08.2018
04:44:43
https://www.facebook.com/hramos/videos/10101317533036249 Не знаю кидали или нет, видос от команды РН про Fabric

Gena
02.08.2018
05:44:01
https://www.facebook.com/hramos/videos/10101317533036249 Не знаю кидали или нет, видос от команды РН про Fabric
Кидали, да... там довольно неразборчиво, но из того, что услышал, лучше будет, но не сильно. Фундаментальную проблему RN с передачей данных JS <-> Native они так не решат... Более того, получат ещё ряд проблем с производительностью, потреблением памяти и сложностью расширения, связанную с попыткой реализовать иммутабилити на C++. Более того, все, даже небольшие плюшки от новой реализации будут в "следующих сериях", сейчас прототип...

Admin
ERROR: S client not available

Demuz
02.08.2018
07:46:51
Внизу стандартный боттомТабНав из навигейшн. Первый таб это топМатериалТабНавигатор.

Alexsandr
02.08.2018
07:58:16
У меня примерно тоже самое, но работает нормально, могу чуть позже gist прислать

Ivan
02.08.2018
08:01:02
как лучше всего хранить/обрабатывать большие списки данных? ~10к записей, нужно выводить предложения при вводе в инпут с фильтром по разным полям

あなたの神
02.08.2018
08:02:15
Ну это так, имхо

Ivan
02.08.2018
08:06:57
больше волнует оптимизация фильтрации, фильтрация в js долгая будет, скорей всего
мм, кажется, realm в этом деле крут

morda
02.08.2018
08:09:39
1000 элементные списки даже говноандроиды вертят не задумываясь

Danil
02.08.2018
08:35:05
подскажите как правильно настроить автоинкремент в fastlane.
Сейчас версию указываю руками:
increment_build_number(
build_number: "1.18"
)
Необходимо, чтобы версия указывалась так current_version + 0.01. Как это правильно написать?

morda
02.08.2018
08:51:47

Danil
02.08.2018
08:52:26
Смысл как раз в том, чтобы руками бамп версии не делать вообще

morda
02.08.2018
08:52:41
А номер билда склеивай 1.2.3 -> 10203

Danil
02.08.2018
08:53:04
current_version + 0.01 - то есть вот так нереально сделать?

Google

morda
02.08.2018
08:53:53

Danil
02.08.2018
08:54:35
Часто забываю руками бамп версии делать, поэтому решил автоматизировать процесс

morda
02.08.2018
08:54:51
Дисциплина!)
Семантику добавь -> бамп минора для нового бинарника (релиза в сторы), бамп патча для нового кодпуша

Sergey
02.08.2018
09:44:18
гайс нужна помощь , из api (unsplash) на главном экране в компоненте (HomeScreen) достаю рандомные 10 картинок с авторами и рендерю их на экран через flatlist, через react-navigation в params пробрасываю либо индекс элемента либо сам элемент в другой компонент чтобы там этот один элемент на весь экран открыть. Так вот данные гуляют спокойно я их и через консоль и через девтулз вижу , но на втором компоненте они не рендерятся вообще, консоль выдаёт такую штуку (ReactNativeJS: Warning: isMounted(...) is deprecated in plain JavaScript React classes. Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.) , но скорей всего она тут не причём, так в чём может быть проблема?

Alex
02.08.2018
09:45:40
https://github.com/react-navigation/react-navigation/issues/3956

Alexander
02.08.2018
11:55:12
на андроиде: у динамических компонентов не работает zIndex
кто как лечил?
вообще кому-нибудь удалось сделать рабочие всплывашки в форме? показывается при ошибках валидации

Alexsandr
02.08.2018
12:03:03
разобрался ?
или еще актуально
сори, чет потерялся на работе