Size: a a a

React Native — русскоговорящее сообщество

2019 November 16

GB

Gena Black in React Native — русскоговорящее сообщество
Alex
Всем привет, пытаюсь встроить нативную кастомную iOS вью и просто вызвать там метод
1) Есть класс вью .m и внизу вью RCTViewManager: https://prnt.sc/pxqbqc
2) index.js у кастомной вью выглядет так: https://prnt.sc/pxqgcl
3) В RN приложении импортирую свою вью https://prnt.sc/pxqd65
4) Вызываю метод https://prnt.sc/pxqfks
5) Получаю ошибку https://prnt.sc/pxqft3
Что делаю не так? Как исправить ?

P.S. Если просто отрендорить вьюху - она нарисуется и покрасится в красный, и в методы инита попадаю
Посмотрите, как такое сделано в других местах. (На ум сразу react-native-maps приходит)
источник

A

Alex in React Native — русскоговорящее сообщество
Gena Black
Посмотрите, как такое сделано в других местах. (На ум сразу react-native-maps приходит)
Смотрел, у них не изменяется index.js , отдают компонент как есть, а мне надо его модифицировать (пункт 2) . В целом уже пересмотрел несколько туторилов.
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Alex
Всем привет, пытаюсь встроить нативную кастомную iOS вью и просто вызвать там метод
1) Есть класс вью .m и внизу вью RCTViewManager: https://prnt.sc/pxqbqc
2) index.js у кастомной вью выглядет так: https://prnt.sc/pxqgcl
3) В RN приложении импортирую свою вью https://prnt.sc/pxqd65
4) Вызываю метод https://prnt.sc/pxqfks
5) Получаю ошибку https://prnt.sc/pxqft3
Что делаю не так? Как исправить ?

P.S. Если просто отрендорить вьюху - она нарисуется и покрасится в красный, и в методы инита попадаю
Насколько я вижу, этот метод определен для RTCMyViewManager, а не для вьюхи которая используется
источник

A

Alex in React Native — русскоговорящее сообщество
Anton Vlasov
Насколько я вижу, этот метод определен для RTCMyViewManager, а не для вьюхи которая используется
Это значит что менеджер не должен отвечать за хэндлинг методов?
Если я буду пробовать вызывать не printTest а метод вьюхи (например setup), то будет или такая же или похожая ошибка(точно не помню) но во вьюхе нет макросов никаких (а-ля export_method)
источник

ЮК

Юрий Корушев in React Native — русскоговорящее сообщество
Подскажите, а где выкладывают вакансии?
Здесь по правлам нельзя. )
источник

R

RedTeapot in React Native — русскоговорящее сообщество
Юрий Корушев
Подскажите, а где выкладывают вакансии?
Здесь по правлам нельзя. )
источник

ЮК

Юрий Корушев in React Native — русскоговорящее сообщество
Спасибо)
источник

Sergey λ in React Native — русскоговорящее сообщество
W X
Здравствуйте, процессор райзен под виндой, хочу запустить эмулятор андроида от андроид студио, но аппаратная акселерация не работает. Использовать арм и всё ок будет? Там нету новых прошивок на арм.
Или есть беспроигрышный вариант какой-то?
источник

M

Mario in React Native — русскоговорящее сообщество
Подскажите,  есть задача, нужно расчитывать точки прикосновения к дисплею,  например ладонь ребёнка длина и ширина.  Есть что типо готовых библиотек ? В какую сторону копать вообще. Впервые с таким сталкиваюсь.
источник

DK

Dmitriy Kupriyanov in React Native — русскоговорящее сообщество
Народ, а кто-то использовал nativebase Пытаюсь ее запустить с react-native последним, а она тупо не работает. Пишет Unable to resolve module vue-native-core  Эта либа вообще поддерживается или мусор уже?
источник

D

Debian-10-buster-64 in React Native — русскоговорящее сообщество
Mario
Подскажите,  есть задача, нужно расчитывать точки прикосновения к дисплею,  например ладонь ребёнка длина и ширина.  Есть что типо готовых библиотек ? В какую сторону копать вообще. Впервые с таким сталкиваюсь.
Анриал
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Alex
Смотрел, у них не изменяется index.js , отдают компонент как есть, а мне надо его модифицировать (пункт 2) . В целом уже пересмотрел несколько туторилов.
Ок, попробую максимально кратко подразумевая, что вам надо вызвать метод у экземпляра вьюхи. Если вам надо просто вызвать метод модуля, то вообще проблем не должно быть, это тривиально и описано в документации.

У вас есть модуль, это обычный модуль бриджа, т.е. вы можете из JS вызывать нативные методы (методы этого модуля). Этот модуль наследует от RCTViewManager, который реализует абстракцию компонента, т.е. можно создавать нативные вью и передавать им св-ва. Всё. Больше ничего нет.
Чтобы вызвать метод на конкретном экземпляре вьюхи (нативного компонента), надо поступить следующим образом:
1. Сделать нативный метод в модуле (менеджере вьюхи), которому помимо остальных аргументов, передавать reactTag (это идентификатор экземпляра вьюхи).
2. В этом методе по тэгу получить экземпляр нативной вьюхи при помощи RCTUIManager
3. Проверить, что он вашего класса (на всякий случай) и приведя к типу вашей вьюхи дернуть метод.

Вот так это сделано в react-native-video:
1. JS часть. Получение тега (findNodeHandle) и вызов метода на нативном модуле с этим тегом: https://github.com/react-native-community/react-native-video/blob/master/Video.js#L77
2. Натив. Метод в нативе, принимающий тэг и вызывающий реальное действие на экземпляре вьюхи: https://github.com/react-native-community/react-native-video/blob/master/ios/Video/RCTVideoManager.m#L68
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Mario
Подскажите,  есть задача, нужно расчитывать точки прикосновения к дисплею,  например ладонь ребёнка длина и ширина.  Есть что типо готовых библиотек ? В какую сторону копать вообще. Впервые с таким сталкиваюсь.
В мультитач копать и структуру события тача (нативного), но как уже говорили, есть сомнения... слишком много ньюансов.
источник

M

Mario in React Native — русскоговорящее сообщество
Gena Black
В мультитач копать и структуру события тача (нативного), но как уже говорили, есть сомнения... слишком много ньюансов.
Ок 👌
источник

M

Mario in React Native — русскоговорящее сообщество
Почему ? Там же вроде просто должно быть, это прямоугольник, у которого высчитывается просто самая крайняя точка первая, и последняя
источник

~

~ in React Native — русскоговорящее сообщество
Приветствую. В реакте в стилю можно передать две переменных ?
источник

MK

Mikhail Kiselyov in React Native — русскоговорящее сообщество
Почему бы не создать переменную, которая передает 2 этих стиля?
источник

A

Alex in React Native — русскоговорящее сообщество
Gena Black
Ок, попробую максимально кратко подразумевая, что вам надо вызвать метод у экземпляра вьюхи. Если вам надо просто вызвать метод модуля, то вообще проблем не должно быть, это тривиально и описано в документации.

У вас есть модуль, это обычный модуль бриджа, т.е. вы можете из JS вызывать нативные методы (методы этого модуля). Этот модуль наследует от RCTViewManager, который реализует абстракцию компонента, т.е. можно создавать нативные вью и передавать им св-ва. Всё. Больше ничего нет.
Чтобы вызвать метод на конкретном экземпляре вьюхи (нативного компонента), надо поступить следующим образом:
1. Сделать нативный метод в модуле (менеджере вьюхи), которому помимо остальных аргументов, передавать reactTag (это идентификатор экземпляра вьюхи).
2. В этом методе по тэгу получить экземпляр нативной вьюхи при помощи RCTUIManager
3. Проверить, что он вашего класса (на всякий случай) и приведя к типу вашей вьюхи дернуть метод.

Вот так это сделано в react-native-video:
1. JS часть. Получение тега (findNodeHandle) и вызов метода на нативном модуле с этим тегом: https://github.com/react-native-community/react-native-video/blob/master/Video.js#L77
2. Натив. Метод в нативе, принимающий тэг и вызывающий реальное действие на экземпляре вьюхи: https://github.com/react-native-community/react-native-video/blob/master/ios/Video/RCTVideoManager.m#L68
спасибо
источник

НС

Никита Сироткин in React Native — русскоговорящее сообщество
~
Приветствую. В реакте в стилю можно передать две переменных ?
Массив
источник

~

~ in React Native — русскоговорящее сообщество
Mikhail Kiselyov
Почему бы не создать переменную, которая передает 2 этих стиля?
источник