Aleksei
Igor
А на каких событиях компонента правильно подвисываться и отписываться от BackHandler ?
Alexey
Alexey нет, смысл в другом) просто когда у тебя родная навигация используется, то тебе приходится лезть в нативку на каждый чих, и вот в wix пытаются сделать апи поверх, но как мне показалось в процессе использования, что это не очень возможно, все же апи разные. в react-navigation удобно то, что все в js и из-за этого большой простор для кастомизации. Однако много людей жалуется на перфоманс, да и виден запрос в RN у людей, на более нативное решение. Мне просто понравилось как в react-native-interactable сделали декларативное апи поверх нативной реализации, и поэтому мне кажется, что реализация навигации в таком ключе может быть интересна 🙂
понял. Да, тут сложнее. Если нужна реально кастомная, сложная навигация, то всё равно вряд ли получится декларативно её задать используя любой из вышеописаных подходов
Alexey
но для простых кейсов может сработать
Alexey
я просто пока не вижу всей картины в целом, тяжело сказать
Alexey
Alexey
я полагаю, что SC имплементируют sCU
Alexey
чтобы такого не происходило
Kirill
сейчас нет примера под рукой, но насколько я помню sc не создают дополнительных компонентов с sCU
Kyrylo
Aleksei
так точно
есть желание в Мск съездить?)
Alexey
Alexey
но я прям правда сильно сомневаюсь, что происходит ререндер каждый раз просто из-за сравнения стилей
Alexey
тема визуального отображения компонентов никогда не была моей сильной стороной, но будет интересно сделать небольшой ресёрч на эту тему 🙂
Kyrylo
🙂 Спасибо, но пока довольствуюсь локальными. Может когда-то и поменяется это ¯\_(ツ)_/¯
Alexey
так что нет разницы, используешь ли ты [] или {}
Kirill
так что нет разницы, используешь ли ты [] или {}
если я ничего не путаю это вообще не об этом.. по ссылке метод StyleSheet.flatten, который как раз из айдишек делает обьект и лишает нас оптимизайций бриджа:
Refering to style objects directly will deprive you of these optimizations
Alexey
Насколько я помню, было много планов реализовать эту оптимизацию, но она так и осталась "в планах", по крайней мере так говорят комменты в том же классе
Alexey
если мы говорим об одном и том же: https://github.com/facebook/react-native/blob/1e8f3b11027fe0a7514b4fc97d0798d3c64bc895/Libraries/StyleSheet/StyleSheet.js#L80
Aleksei
Alexey
но опять же, эта часть RN не моя сильная сторона, я могу ошибаться
Alexey
но я не верю, что используя [] ноды будут перерисоввываться. Они будут участвовать в процессе реконсилиации(? reconciliation), но это не будет влеч за собой ререндеринг
Alexey
или я по прежнему не о том говорю? 😳
Kirill
Kirill
разве нет?
Aleksei
Kirill
секунду, mad skillz history search
Alexey
будут сравниваться не массивы, а reference id смерженых стилей
Alexey
т.е. [foo, bar] смержатся в baz и baz'у будет присвоен id. Если при сл. реконсилиации смерженные стили будут совпадать с baz, то перерисовки не произойдет
Alexey
по крайней мере это то, как я понимаю это 🤔
Kirill
а вот, нашел, но я сам пример тогда не скинул(
Kirill
через ReactPerf замерил рендер 5000 styled.View и <View style={...}/>
Alexey
так, и что по итогу?
Alexey
кстати, ты использовал SCv2
Alexey
там просто препроцессинг появился, что может существенно оптимизировать рантайм время
Kirill
кстати, ты использовал SCv2
неа, тогда была вроде первая версия, тогда понравилась что стили создаются через StyleSheet.create, даже если используются props для каждого нового значения props создаются отдельные стили со своим индексом. Но вот массив смутил и не стал продолжать
Kirill
Alexey
вот тут вот есть подробное описание (чтобы не пересказывать весь changelog): https://medium.com/styled-components/announcing-v2-f01ef3766ac2
Alexey
тут речь идёт о ssr для веба, но где-то был тред про rn
Alexey
я думаю, что он делает это на JSе и нода не передается через мост в нативку
Alexey
надо покопаться в коде и найти эту часть
Alexey
ага, мне кажется, так и происходит, но надо посмотреть
Алексей
Добрый день, можете пожалуйста подсказать, могу ли я как то заюзать в react native - console.log, если работаю с expo ?
Алексей
по докам вообще понять не могу..
Aleksei
Aleksei
Алексей
да
сори за глупые вопросы, я вообще новичек.. в браузере я не нашел такие пункты, она включается в xCode каком нибудь?
Aleksei
Kyrylo
в меню приложения
Алексей
видел.. я уже как только его не тряс, думал что то не так делаю, может эта тема отключена где то
Алексей
а в меню приложения expo тоже не нашел, сейчас еще раз гляну..
Алексей
Алексей
в меню приложения
у меня в приложении как такового меню даже нет.. только вот
Kyrylo
Тут запускаешь приложение и уже в нем пытаешься вызвать меню. У меня в эмуляторе андроида вызывается кнопкой меню, стандартной
Junior
Junior
Я не юзаю expo, но гугл выдал мне вот это первой ссылкой
https://docs.expo.io/versions/latest/guides/logging.html
Kyrylo
разницы нет экспо или не экспо
Алексей
разницы нет экспо или не экспо
Все разобрался, только через пару лет использования планшета, узнал, что зажатие кнопки запущенных приложений открывает меню приложения )
Алексей
всем спасибо
Kyrylo
да, это оно 🙂 Оно окрытает его только на стадии разработки. В релизе - этого меню не будет
Алексей
я понял. Как вообще, реально, разрабатывать приложения не используя Android Studio ?
Kyrylo
вполне
Kyrylo
я никогда не пользовался
Алексей
вполне
и нативный код, я так полагаю, совсем в редких случаях пишется?
Aleksei
Kyrylo
ну от задачи зависит.
Алексей
от проекта зависит
а я правильно понимаю, что он пишется в том случае, если необходимо сделать что то возможно быстрое или с какой то функцией телефона по определенному взаимодействовать?
Aleksei
Ulad🧑💻
Как сгенерировать вторую релизную версию для андроид? Сделал по инстуркции но при попытке установки пишет что
Ulad🧑💻