Alexander
http://get.udid.io/ через вот это
Alexander
Может лишняя инфа, но у меня много времени заняло чтобы дойти до этого
Maxim 📱 D
Ребят, кто-нибудь реализовывал отзывы в таком виде?
Да вроде и сверстать можно самому компонент, посмотрите kitten-ui, не помню было ли там похожее, но там много готовых решений
Vladimir
А подскажите, коллеги, можно ли в нативном модуле (без ViewManager), заинфлейтить реактовские вьюхи? То есть передать, например строкой, названия классов и через рефлексию или другую магию создать нужные объекты?
Vladimir
Речь про андроид.
Vladimir
У меня есть пара мыслей на этот счет, но хочется убедиться что нет готовых велосипедов.
Vladimir
не принципиально, ReactImageView, ReactTextView
Vladimir
я не думаю что подход будет отличаться кардинально от конкретики
Aleksei
а в чем конкретно вопрос? про передать строку или про то как заинитить?)
Vladimir
NativeModules.Module.show( "ReactView", "ReactView" )
Aleksei
вот про бридж был живым не понял)
Vladimir
ну чтобы эвенты и колбэки гуляли как будто я их просто в рендере описал
Aleksei
они там вроде как то по тэгам цепляются
Aleksei
что то типа id-ка выдается
Vladimir
то есть когда мы их описываем в JS, их инициализирует RN, нативные модули, насколько я понимаю, не подразумевают комплексных лэйаутов и предполагают атомарный интерфейс.
Vladimir
хочется что-нибудь простого, как в JS цепляются нативные модули через require
Vladimir
тоже самое но с обратной стороны
Vladimir
в голову приходит инициализация через соответствующий менеджер
Aleksei
если для ios кину норм будет?
Vladimir
Но создание рандомного менеджера мне не видится простой задачей
Aleksei
https://github.com/savelichalex/Souptitle/blob/master/apps/mobile/ios/STTableView.m#L69 https://github.com/savelichalex/Souptitle/blob/master/apps/mobile/ios/STTableView.m#L132 https://github.com/savelichalex/Souptitle/blob/master/apps/mobile/ios/STTableView.m#L144 Код почти весь не мой, по мотивам статьи давно давно писал)
Aleksei
я ошибаюсь или это про передачу эвентов на не про создание инстансов?
как я понимаю именно эту часть, это что если передать с правильным тэгом, то эвент дойдет до нужного получателя, как будто просто в рендере описано
Aleksei
а вот про инстансы это уже надо смотреть)
Vladimir
С эвентами все более или менее понятно. С созданием инстансов - такое ощущение что я хочу странного и фреймворк не подразумевает такое поведение.
Aleksei
ну на самом деле мне тоже интересно зачем вам это 🙂
엑시
в описании группы есть showcase
енто слишком маркетинг https://facebook.github.io/react-native/showcase.html
엑시
они по партнерке написали какой-то модуль на RN и усе
엑시
далековато от реальности
엑시
особенно скайп палево
Aleksei
лол, скайп на RN
Vladimir
Vladimir
Есть такая забавная вьюха. Сделана нативным модулем, потому что у меня нет идей как это сделать нормально на реакте. Нужно добавить на место черного пространства кучу реактовских вьюх. Отсюда вопрос.
Vladimir
То есть нужно заинфлейтить туда что-то вида export const Content = () => ( <View style={{height, width}}> <Playlist videoId="abc" /> </View> ); передав имя константы
Aleksei
а есть кстати возможность емнип чилдренов пробрасывать в нативный модуль
Aleksei
в том коде что я скидывал так и работает
엑시
лол, скайп на RN
только на ведре
엑시
ios там нейтив
Vladimir
в том коде что я скидывал так и работает
через вью менеджер, насколько я понимаю
엑시
думал что нашел Verb - тако они тока айос на рекат оставили https://habrahabr.ru/post/335354/
Ilya
только на ведре
То-то он в 5 фпс
Aleksei
только на ведре
они вообще react-xp делали чтобы везде был одинаковый код
Vladimir
То-то он в 5 фпс
это, как показывает практика, проблема имплементации, а не технологии
Aleksei
через вью менеджер, насколько я понимаю
а я так понял там метод переопределяется, что то вроде insertReactSubview (не у компа сейчас)
Vladimir
я далеко не фанат RN, но в конечном итоге весь UI, упирается в нативный код и если там 5 фпс, то кто же им доктор
Vladimir
а я так понял там метод переопределяется, что то вроде insertReactSubview (не у компа сейчас)
этот метод дергается реактом при наличии компонента, у меня компонента нет, только нативный модуль
Aleksei
а почему не через компонент сделать?)
Aleksei
есть еще вариант зарегистрировать в AppRegistry
Vladimir
потому что компонент кладется в иерархию реактовских вьюх, мне нужно что моя вьюха всегда была на вершине иерархии и не блокировала нижлежащие. Я не нашел ни одной имплементации навигации, которая бы позволяла это делать.
Vladimir
в лучшем случае - модальное окно с новой, прозрачной, активити внутри, что совсем плохо в случае андроида
Vladimir
работать с фрагментами и строить навигацию внутри них реакт не умеет, насколько мне известно
Vladimir
а писать собственную навигацию для одного кейса это оверкилл, как мне кажется
Vladimir
хотя с точки зрения задачи очень верный вариант
Vladimir
есть еще вариант зарегистрировать в AppRegistry
выглядит многообещающе, спасибо
엑시
Yandex Market на RN ?
엑시
на iOS
Aleksei
выглядит многообещающе, спасибо
вы главное потом расскажите как сделали)
Vladimir
👍
엑시
Yandex Market на RN ?
вообщем походу да
엑시
яндексоиды косвенно подтверждают
엑시
кек
엑시
это с 5й версии которую полгода назад выпустили
Aleksei
потому что компонент кладется в иерархию реактовских вьюх, мне нужно что моя вьюха всегда была на вершине иерархии и не блокировала нижлежащие. Я не нашел ни одной имплементации навигации, которая бы позволяла это делать.
добрался до компа) а разве такая иерархия не подойдет? import { StackNavigator } from ‘react-navigation’ const Nav = StackNavigator(routes); const App = () => ( <View style{{ flex: 1 }}> <Nav /> <NativeFloatingModule /> </View> ); AppRegistry.registerComponent(‘App’, () => App);
Aleksei
ну я так, пытаюсь разные варианты перебрать
Vladimir
посмотрю и в эту сторону, спасибо
Phil
я открыл RN проект в xcode где найти код главного экрана логику транспелированую в нативный код
Phil
а я туплю прост мож
Phil
а как мутить нэйтив компоненты
Phil
если мне нужно чтот очень сложное
Vladimir
если мне нужно чтот очень сложное
https://facebook.github.io/react-native/docs/native-modules-ios.html https://facebook.github.io/react-native/docs/native-components-ios.html
Alexey
Забавно, мы дотыкались с навигейшеном до того, что я решил для нас написать небольшое решение типа виксовского. Так вот, вы можете через AppRegistry инициализировать отдельные вьюги и потом их маунтить параллельно
Alexey
Выглядит как два приложения в одном :)
Alexey
Все тривиально или есть какой-то референсный код подглядеть?
ну не то, чтобы прям на виду, но всё не так страшно
Vladimir
Ок, спасибо