Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

322
Vistas
cómo pasar un componente de reacción como una propiedad de vista nativa

Estoy tratando de crear una aplicación nativa de reacción con algunos componentes de interfaz de usuario nativos y algunos componentes de React. Quiero un componente de interfaz de usuario nativo que tome un componente de reacción como propiedad y lo represente como una subvista.

Pasé por el proceso normal de hacer un componente ui nativo y usé RCT_EXPORT_VIEW_PROPERTY(view, RCTView) para obtener la propiedad view.

PagedUIViewManager.swift:

 @objc(PagedUIViewManager) class PagedUIViewManager: RCTViewManager { override func view() -> UIView! { return PagedUIView(); } override static func requiresMainQueueSetup() -> Bool { return true } }

PagedUIView.swift:

 class PagedUIView: UIView { @objc var view: UIView { didSet { for subview in self.subviews { subview.removeFromSuperview() } self.addSubview(view) } } override init(frame: CGRect) { self.view = UIView(frame: frame) super.init(frame: frame) self.addSubview(view) } }

PagedUIViewManager.m:

 #import "React/RCTViewManager.h" @interface RCT_EXTERN_MODULE(PagedUIViewManager, RCTViewManager) RCT_EXPORT_VIEW_PROPERTY(view, RCTView) @end

PagedUINativeView.js:

 const PagedUI = requireNativeComponent("PagedUIView"); export default class PagedUIView extends React.Component { render() { return <PagedUI {...this.props}/>; } }

uso:

 <PagedUIView view={<ComponentToRender />} />

Esperaba que la vista mostrara <ComponentToRender /> , pero en su lugar aparece el error de tiempo de ejecución "Violación invariable: 435,PagedView,1,[object Object] no se puede usar como argumento de método nativo".

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Actualmente no es posible, la única forma de pasar vistas a módulos nativos pasa la vista como hijos.

Puede recibir la vista usando:

 @objc override func insertReactSubview(_ subview: UIView!, at atIndex: Int)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda