Eli
На моих проектах всегда.
Vit
Чтобы понять про жестовские снапшоты гуглим golden master tests и читаем)
Gena
По разному бывает... у нас тоже есть несколько таких тестов для компонентов с нетривиальной "логикой" (в кавычках, т.к. не поведением а именно логикой структуры)... но добавляли их, как это сказать, "когда три раза выстрелит"... пример - Avatar... там сложное определение какую картинку взять и какого размера...
Vit
Хрупкость 146% польза при активном деве 0%
Eli
Тут другая немного причина их полезности.
Gena
Согласен в основном. И автоматом их генерить тяжело... jest помогает автоматом сохранить снапшот... но сам компонет всё равно надо в коде описать... свойства ему передать нужные...
Eli
Это как минимум гарантирует что перед пушем в девелоп, разработчик как минимум один раз запустил приложение и увидел экран над которым работает.
Vit
Когда прилага "на поддержке" от них оч много пользы
Eli
Очень часто люди делают пуши не смотря на результат.
Vit
На старте стартапа от них только вред
Eli
То есть тот кто сделал пуш, поставил таким образом свою роспись что он убедился что UI выглядит как надо.
Vit
Некоторые умудряются их в тдд процесс внедрить)
Eli
:O
Eli
Но как?)
Vit
А вот!)
Vit
Грепом по снапшоту!)
Gena
А... и ещё... если на jest смотреть будете... это не визуальные тесты... они именно снашотят структуру компонента... т.е. когда он сломается, вы увидите, что-то типа такого диффа: - Snapshot + Received @@ -16,11 +16,11 @@ > <WebImageView resizeMode="cover" source={ Object { - "uri": "image_url?w=280&h=280", + "uri": "image_url?w=160&h=160", } } style={ Object { "backgroundColor": "#dddddd",
Eli
да и после этого структуру новую нужно обновить и потом пушить.
Vit
Меня снапшоты пару раз спасали тем что визуально красного во много раз было больше чем зеленого - чето отвалилось
Eli
Так тоже нормальному
Vit
Я их как смок-тесты использую. Типа есть компонент, компилится и ок
Vit
Без покрытия ифов
Eli
гуд)
Oleg
холиварный вопрос wix vs reactnavigation ? обычно использую reactnavigation wix не трогал очень давно, что то менялось у них ?
Oleg
flexbox
jajaeee
@ddzrt а есть понативнее решение? как процесс должен проходить?
Dmitry
холиварный вопрос wix vs reactnavigation ? обычно использую reactnavigation wix не трогал очень давно, что то менялось у них ?
Сегодня обнаружил, что RNN v1 не поддерживает RN 0.57 на андройде, без костыля
Gena
flexbox... и как вы safearea вашим флексбоксом сделаете... (это я бузю...)... на самом деле флексбокс может и универсальный, но некоторые виды довольно часто встречающихся констрейнтов на нем ну очень не удобно моделировать (а в RN исполнении так и вообще невозможно)
Alexsandr
@ddzrt а есть понативнее решение? как процесс должен проходить?
Слушай, там можно и без этого просто через урл перехватить сессию, если мне память не изменяет и потом отправить запрос на получение токена
Alexsandr
Так что в качестве урла можешь указать все что хочешь, нужный тебе параметр в нет запросе, его отлови.
Stas
к слову о тестах. не появилось ui тестов с описанием на js и поддержкой андроида? не detox
Stas
в теории можно просто юзать эспрессо, но нужно шарить. Не хочется писать платформозависимые тесты, когда в команде фронтедеры и айосники.
Stas
случаем не включен дебаг в хроме? он может setTimeout портить, если время на андроид не соответсвует системному
Vit
Ну смотря откуда да
Nick
Подскажите пожадуйста чуваку с веб бекграундом, как верстать нативными константами. Это нужно свои нативные компоненты для этого делать и в них на основе констант рассчитывать положение? Может есть какая-то готовая либа оупенсорсная для RN, которая может делать такое за меня?
Nick
flexbox
так Димка Реактивный сопоставил flexbox верстке через нативку с константами. Это одно и то же что ли?
Gena
Ну этот вопрос решается констрейнами =)
В том то идело, что в RN их нет сейчас... Вообще когда yoga делали, оставили только возможность моделирования локальных ограничений (родительский элемент <-> дочерний)... А часто нужны глобальные... В браузерной верстке есть такая возможность, т.к. там position = static по умолчанию...
Gena
Более того... их не просто нет... их очень сложно туда вставить даже в нативе... т.е. yoga ещё и не расширяема абсолютно... Пруф: собственная реализация Text* в RN
Dmitry
Ребят, а кто-нибудь работал с темами для RN?
Dmitry
если да, то как это было, и где их брать
Иван
Ребят, а кто-нибудь работал с темами для RN?
посмотрите на native-base, там описано как темы менять для их ui
Dmitry
и как они нормик? я просто их никогда не юзал, всегда сам писал
Dmitry
Ребят, а кто-нибудь работал с темами для RN?
Можно сделать обертку и пропихивать контекст, как в Material
Gena
Ребят, а кто-нибудь работал с темами для RN?
В RN основные компоненты (Text, View, ScrollView) более низкого уровня, чем вам для тем нужны... Вот уже написали... есть наборы готовых чуть более высокоуровневых компонентов и для них можно реализовать поддержку тем (собственно там наверняка что-то есть)... У нас тема появляется индивидуальная в процессе разработки приложения когда накапливается набор компонентов используемых в этом приложении...
Иван
и как они нормик? я просто их никогда не юзал, всегда сам писал
разные мнения, разные люди, кто то плюется и стучит пяткой в грудь, что готовые ui гавно и делает сам. Лично я использовал native-base и избавился от необходимости все это писать самому
Dmitry
ну звучит не так уж плохо
Dmitry
спасибо, пойду потыкаю
Иван
ну звучит не так уж плохо
есть еще https://github.com/akveo/react-native-ui-kitten но его я не использовал, не чего не скажу, но вроде не плохой и там сразу темы есть, светлая и темная это точно знаю
Gena
Интересно, но у меня никогда не возникало проблем с позиционированием... Хотя, может не было таких кейсов
Ну вот у меня больной вопрос это SafeAreaView... Пример проблемы простой у вас есть полоса с кнопками внизу экрана (а-ля TabBar), но он полупрозрачный, т.е. контент под ним видно. Внутри в глубине этого TabBar (там ещё несколько контейнеров с паддингами разного размера), есть кнопки... TabBar прибит к низу... а кнопки должны быть в низу "безопасной зоны"... Безопасная зона, это цифра равная координате нижней границы экрана или меньше её. Она может меняться в runtime (к примеру телефон повернули, или что-то системное вылезло... это правда к верху больше относится, но сути не меняет). Вот и как такое сверстать? (Допустим компонента SafeAreaView нет, а есть только цифра) Так вот этот компонент как раз и пытается реализовать этот нелокальный констрейнт... Заметьте, не стили это позволяют, а специальный нативный компонент, который ещё и делает это криво (возможны зацикливания рендера)... Я пытался это переделать на схему без циклов. Для ios сделал, для android терпения не хватило в рамках отведенного таймлимита... потом доделаю м.б. https://github.com/vovkasm/react-native-safe-area-plus (гм... я даже не пушил на github андроид часть, похоже) И там видно, насколько не расширяема yoga в этом смысле...
Gena
Но нелокальные констрейнты встречаются и в других местах... например у вас есть куча контейнеров, в которых внутренние элементы должны быть выравнены между собой... всё это очень тяжко в текущих стилях моделировать
Dmitry
Ну вот у меня больной вопрос это SafeAreaView... Пример проблемы простой у вас есть полоса с кнопками внизу экрана (а-ля TabBar), но он полупрозрачный, т.е. контент под ним видно. Внутри в глубине этого TabBar (там ещё несколько контейнеров с паддингами разного размера), есть кнопки... TabBar прибит к низу... а кнопки должны быть в низу "безопасной зоны"... Безопасная зона, это цифра равная координате нижней границы экрана или меньше её. Она может меняться в runtime (к примеру телефон повернули, или что-то системное вылезло... это правда к верху больше относится, но сути не меняет). Вот и как такое сверстать? (Допустим компонента SafeAreaView нет, а есть только цифра) Так вот этот компонент как раз и пытается реализовать этот нелокальный констрейнт... Заметьте, не стили это позволяют, а специальный нативный компонент, который ещё и делает это криво (возможны зацикливания рендера)... Я пытался это переделать на схему без циклов. Для ios сделал, для android терпения не хватило в рамках отведенного таймлимита... потом доделаю м.б. https://github.com/vovkasm/react-native-safe-area-plus (гм... я даже не пушил на github андроид часть, похоже) И там видно, насколько не расширяема yoga в этом смысле...
Ну это прямо нестандартный кейс)
Gena
Ну это прямо нестандартный кейс)
Я бы сказал стандартный... А вот ща ещё и Android с челкой вышел, вообще жесть начнется )
Dmitry
Я бы сказал стандартный... А вот ща ещё и Android с челкой вышел, вообще жесть начнется )
Честно, я 2 дня убил, чтобы сделать сборку проекта, после 2х недельного отпуска. Неясные ошибки, нестыковки пакетов, необходимость постоянно клинить, ребилдить, ирайзить кэши... Нет никакого желания заниматься разработкой под адройд, учитывая https://m.habr.com/post/425845
Dmitry
есть еще https://github.com/akveo/react-native-ui-kitten но его я не использовал, не чего не скажу, но вроде не плохой и там сразу темы есть, светлая и темная это точно знаю
ого выглядит прям неплохо, никак не могу понять, как ребята выкладывая такие проекты в open source зарабатывают деньги, это ж достаточно много работы
Dmitry
а точно
Vlad
Доброго времени суток всем! Кто нибудь сталкивался с проблемой вывода длинного текста с вложенными стилизованными кусками? то есть примерно такая структура <Text>текст <Text>индекс</Text> текст...</Text> Индексы имеют выделение цветом, меньший размер и повторяются много раз, только на андроиде в какой-то момент их стили пропадают (ios все ок). Выглядит так словно андроид не умеет в длинный вложенный текст со стилями
Ivan
я замечал, что lineHeight съедается и какой-то один применяется, если разный у вложенных и у родителя
Vlad
его не менял, пробовал вообще только цветом их выделять, первые 30% могут быть ок, затем стили теряются, и последние 20-30% снова появляются
Vlad
вот так это выглядит, магия какая-то :(
Gena
Не удивительно учитывая сложность реализации этих компонент... но вообще бардак конечно, если сможете отдебажить что там (это натив скорей всего, хотя там и в js наворочено), то будет очень круто
Lev
Кто сталкивался с проблемой у Native Base компонента Thumbnail на iOS - не круг а какой обглоданный полукруг отображается
чей ты
Нужет компонет для карты в кторый мы может использовать свою векторную карту, кто сталкивался с этой задачей ?
Stas
я бы debounce сам написал и потестил
Dmitry
Где-то видел чтиво на тему, НЕиспользования стрелочных функций в методах, которые занимаются рендером, но найти не могу... Никто не видел/слышал такого?
Vit
Где-то видел чтиво на тему, НЕиспользования стрелочных функций в методах, которые занимаются рендером, но найти не могу... Никто не видел/слышал такого?
якобы при ререндерах они пересоздаются и бла-бла тормоза, на практике это пффф по сравнению с временем рендера самих нативных компонентов одного Image хватит чтоб переплюнуть время пересоздания всех стрелочных функций в проекте)
Vit
так теоретики же)
Vlad
у меня есть родительский Text, а в него нельзя View :( такой хак вроде бы работает - сделал индексы в тройной Text (именно тройной, двойной не работает) иии так оно все показывает, вариант так себе конечно
Dmitry
Не, так была русскоязычная статья. Суть была в том (могу ошибаться), что стрелочные функции всегда пересоздаются и являются анонимным, поэтому возможен вызов ререндеров, т.к. виртуальный дом не может их отслеживать, а НЕстрелочные не имеют таких проблем. Поэтому для любая функция, которая возвращает компонент, должна быть именной, а скажем хендлер клика - стрелочным
Dmitry
но вот найти не могу
Stas
вопрос по pushnotificationios. Можно ли заставить remote notifications рисаваться в notification center даже когда приложение запущено?
Aleksei
вопрос по pushnotificationios. Можно ли заставить remote notifications рисаваться в notification center даже когда приложение запущено?
не знаю на счет remote, но локальные с https://developer.apple.com/documentation/usernotifications/, который с iOS10 точно можно, подозреваю что и remote возможно 🙂