Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

195
Visualizações
Reaccionar nativo: agregar componentes dinámicamente desde JSON en la carga de la página

Estoy aprendiendo React Native y quiero crear una aplicación ( Android e IOS ) que creará los componentes dentro de la vista principal cuando se cargue la página, extrayendo los datos de cada componente de un archivo JSON.

Por ejemplo, el JSON para esa página podría tener 3 elementos de texto y una imagen, y la carga generaría esos componentes y se mostrarían en la página.

¿Sería eso posible y, de ser así, cómo debo colocar el código para hacer esto, por ejemplo, Hooks, useEffect() dentro del componente View? ¿Sería un problema, ya que creo que useEffect se llamaría dos veces, una antes de agregar los nuevos componentes y luego otra vez?

Además, idealmente, los componentes podrían estar incrustados, por ejemplo, un componente con otro incrustado para un estilo diferente o para un enlace, por ejemplo

 <Text style={mainStyles.heading}>a test <Text style={mainStyles.p}>embedded</Text> text component</Text>

o

 <Text style={mainStyles.heading}>a URL link <Text style={mainStyles.p} onPress={() => Linking.openURL("https://www.microsoft.com")}> Microsoft</Text> text component</Text>

Finalmente, al navegar entre páginas, necesitaría tener alguna forma de pasar un valor a la página entrante para que sepa qué JSON importar (es decir, en términos web, una cadena de consulta, una cookie o un valor de almacenamiento local)

¿Sería esto posible?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Componentes dinámicos

Puede usar <FlatList> . Esto tomará una lista de cosas y creará un "componente" tal como lo coloca para cada elemento de esa lista.

Por lo tanto, si tiene una lista de elementos y cada "elemento" tiene 4 propiedades, como: item = { text1, text2, text3, pic } Entonces su FlatList podría verse así:

 <FlatList data={exampleList} keyExtractor={({ item, index }) => index} renderItem={({ item, index }) => ( <View> <Text>{item.text1}</Text> <Text>{item.text2}</Text> <Text>{item.text3}</Text> <Image source={item.pic} /> </View> )} />
Por lo tanto, podría analizar varios de sus archivos JSON en una lista de estos "elementos" (suponiendo que todos tengan 3 textos y 1 imagen).

Y sí, puede agregar onPress a <View> , o lo que necesite.

Pasar valores a la siguiente pantalla

Entonces, ejemplos con direcciones HTTP, a menudo puede agregar datos GET, tal como lo mencionó.

Sin embargo, a menudo desea enviar datos a sus propias pantallas. En ese caso, debe tener algo de navegación en su lugar. Entonces, si actualmente puede cambiar de pantalla a través de navegar (), podría pasar parámetros adicionales. Estos serían accesibles en la segunda pantalla a través de; props.route.params

Entonces, navigate("LoadJSONPage","test42.json") y en "LoadJSONPage", puede acceder al parámetro "test42.json" a través props.route.params . Por supuesto, puede enviar múltiples parámetros, pero deberá especificar el índice al acceder; props.route.params[0] sería "test42.json"

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda