Valentin
Серьезно говоря, это пока больше эксперименты и штуки которые больше нужны большим компаниям для интегрирования RN внутрь ComponentKit или Texture
Valentin
А еще это позволит делать синхронный лайаут с UIKit в свзяке RN внутри UIKit
Valentin
Если кто-то плотно интегрирует RN внутрь нативного iOS, то я был бы рал услышать отзывы о RCTSurfaceHostingView
Valentin
RCTSurfaceHostingView это замена для RCTRootView
Aleksei
Valentin
Ну вот если заменить RCTRootView на RCTSurfaceHostingView (апи практически одинаковый), то *теориетически* (я не очень тестировал это, честно говоря), будет синхронный лайаут между двумя мирами
Aleksei
вот на самом деле именно словосочетание «синхронный лэйаут» и не понятно))
Valentin
Т.е. например если ты изменяешь (с анимацией!) что-то снаружи RN, то весь UI будет перерисован синхронно и с анимацией
Aleksei
снаружи? можно простой пример, если не затруднит?)
Valentin
Короче это как RCTRootView, только лучше.
Valentin
Ну, если приложение гибридное, то RN занимает не весь экран, и вот если нужно что-то изменить в лайауте снаружи, то... теперь это будет работать лучше.
Valentin
Не знаю как проще объяснить.
Valentin
В случае негибридного приложения тоже будет лучше, но не так заметно
Aleksei
то есть например есть у меня UIView с frame bounds к примеру 100 на 100, то при изменении размеров будет все ок работать? (внутри UIView RN приложение)
Aleksei
а я вот помню @potomushto рассказывал что у него в react-native-macos, при изменении размера окна были тормоза, интересно решится ли теперь эта проблема
Valentin
да!
Valentin
я не знаю как работает react-native-macos. мне вообще очень интересна тема macOS+RN, но времени на это нету. 🙁 я думаю там полностью собственная имплементация, но идейно основанная на iOS. я думаю туда можно бекпортировать все новые изменения, но "автоматически и бесплатно" это не заработает.
Aleksei
да!
Валентин, все хотел спросить у эксперта) вот если делать гибридное приложение, нативное у которого несколько скринов к примеру на RN, то это будет один js бандл или несколько, и как вообще такое делают?
Valentin
¯\_(ツ)_/¯ Значит хака нету. Сорри. А для твоего кейса необходимо частичное выделение?
Aleksei
у нас сегодня прям Q&A с Валентином Шергиным (прошу прощения если неправильно фамилию написал), как на дискорде))
Valentin
Valentin
Т.е. можно по разному, точно. Обычно бандл один.
Aleksei
Artur
Artur
вы там с ума сошли?
Artur
js выполняется в отдельном потоке
Artur
там пока этот синхрон случится раза три переключение контекста будет
Artur
Artur
Aleksei
Artur
Aleksei
и
Aleksei
тут кстати сейчас был разговор же не про js, а про изменения снаружи
Artur
Aleksei
я если честно мало что понял из PR-а, но видимо что то с Yoga
Artur
мне больше интересен вот этот график активности RN
Aleksei
классный график, сразу видно что меньше багов стало 😄
Artur
его еще можно трактовать по другому
Danil
Ребят. В продакшене сломалась авторизация через фейсбук и встроенные покупки. Я использую amplitude analytics, решил добавить логи. В итоге залогались такие значения:
Danil
Danil
Danil
Как понять в чем ошибка? Sentry поможет в этом случае?
Valentin
а чем лучше то?
Актуальная имплементация RCTRootView весьма запутанная и ограниченная. Она не позволяет делать синхронный лайаут, не позволяет создавать реакт приложения с любого треда, содержит ненужные фичи, которые усложняют поддержку. RCTSurfaceHostingView использует новый RCTSufrace для создания приложения и реализует только то, что нужно для качественной интеграции лайаут системы RN и UIKit.
Valentin
https://www.youtube.com/watch?v=HXKFQu2cP4c&list=PLzUKC1ci01h_hkn7_KoFA-Au0DXLAQZR7&index=7 Вот эта презентация хорошо рассказывает о проблемах, котрые мы пытаемся решить используя новые API.
Ivan
Хай гайз. Плюет такую ошибку. передаю поле title пропсом и юзаю <Text style={[styles.text, styles.boldText]}>{props.title}</Text>. Но получаю эту ошибку. Хелп ми плис.
Евгений
Убери массив из объекта
Евгений
В стилях для начала
Fluffy Cat
оператор spread существует, да
Евгений
Во вторых если используешь не функциональный компонент, а через класс - то у пропсов забыл зис
Fluffy Cat
может у него деструктурирование
Евгений
А может и нет
Fluffy Cat
это был сарказм
Евгений
Я под 4 утра сервер сарказма отрубил сорь
Fluffy Cat
но, в любом случае, когда такие ошибки с массивом внутри объекта....
Artur
Valentin
Valentin
О каких именно ограничениях речь?
Valentin
Oh!
Artur
непонятно как это будет себя вести с ячейками разной высоты например
Valentin
Да, конечно, их подход весьма... странный. Я ни в коем случае не считаю его правильным. Я всего-лишь имел ввиду, что изначальные *проблемы* описаны хорошо. Решения же конечно же "так себе".
Artur
да если вот совсем декларативные элементы то зайдет
Artur
но опять же с вопросами хотя бы про высоту ячеек
Valentin
Вот моя цель - сделать возможным то, что Тал хочет, но так чтобы сохранить динамизм.
Artur
мне кажется им нужно сделать flatlist не тормозящим )
Valentin
Ну, тут конечно вопрос в правильном балансе. Никогда нельзя сделать императивную штуку такой же быстрой как полностью декларативную (по крайней мере в терминах РН).
Valentin
Кому им?
Artur
Кому им?
фейсбуку, они вроде преподносили его как быстрый и эффективный listview
Valentin
Все так и есть. Какие претензии FlatList?
A
как можно расшарить на macos скрин с экрана iPhone в режиме реал-тайм?
A
чтобы демо показывать клиенту, нужна именно работа камеры
Sergei
Через QuickTime
Ivan
Чувак бля вопрос вообще не о том я понял что вы тут все сверх программисты. Но у меня там функциональный компонент и я мерджу стили . Вопрос вообще не о том....
Ivan
Во вторых если используешь не функциональный компонент, а через класс - то у пропсов забыл зис
Oleg
Во первых, у нас делают reply а не forward, во вторых без мата
Aleksei
Ivan
Окей
Ivan
Извините пригорело