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

235
Visualizações
Cambiar un valor de texto después de presionar un botón

Lo siento, soy nuevo para reaccionar nativo. ¿Cómo hago para hacer un botón que cambie el valor de un texto de entrada o solo una propiedad de texto? Estoy tratando de crear un Texto y poner debajo una variable global (imc) con {} pero no funciona cambiar el {imc} para el resultado de la variable, así que, ¿qué debo hacer ahora? Mi código y perdón por el desorden ah:

 import React, {useState} from 'react'; import { StyleSheet, View, Text, SafeAreaView, StatusBar, TextInput, TouchableOpacity, Image} from 'react-native'; export default function App() { const [altura, setAltura] = useState(''); const [peso, setPeso] = useState(''); const [idade, setidade] = useState(''); const mudarResultado=()=>{}; var imc = peso / (altura*altura/10000) function Calcular(){ alert(`Altura: ${altura}cm \nPeso: ${peso}kg \nSeu imc: ${imc.toFixed(2)} `); if (imc < 18.5 ){ alert("Você está muito magro"); } else if (imc > 18.5 && imc < 25){ alert("Você está com um peso normal"); } else if (imc >= 25 && imc < 30){ alert("Você está com sobrepeso"); } else { alert("Você está na faixa de obesidade"); } } return( <SafeAreaView style={styles.container}> <StatusBar /> <Text style={styles.titulo}>CALCULE SEU IMC</Text> {/* campo de texto altura */} <TextInput style={styles.input} placeholder='Altura(cm)' keyboardType='numeric' value={altura} onChangeText={(altura)=>setAltura(altura)} /> {/* campo de texto peso */} <TextInput style={styles.input} placeholder='Peso (kg)' keyboardType='numeric' value={peso} onChangeText={(peso)=>setPeso(peso)} /> {/* campo de texto idade */} <TextInput style={styles.input} placeholder='Idade (anos)' keyboardType='numeric' value={idade} onChangeText={(idade)=>setidade(idade)} /> {/* Button */} <TouchableOpacity style={styles.botao}onPress={Calcular}> <Text style={styles.btn_txt}>CALCULAR</Text> </TouchableOpacity> <Text style={styles.ideal}>Resultado IMC</Text> <Text> IMC: {imc} </Text>```
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No sé si entendí tu pregunta, pero, si quieres cambiar el valor de una variable, presionando un botón, primero tienes que poner la variable en la "memoria de la pantalla", es decir, en el estado, como lo hiciste en:

 const [altura, setAltura] = useState('');

Así que deberías hacer algo como esto.

 const [imc, setIMC] = useState(0);

Y después, cree una función que calcule el IMC, le recomiendo que siempre use la función de flecha porque previene algunos errores en el futuro.

 const CalculateIMC = () => { let imc = peso / (altura*altura/10000); // I used "let" instead of "var" because "let" only exists inside this function so it uses less memory. Think about largers aplications setIMC(imc); // Here you are setting the variable imc in the memory of yout screen // After this you can use your logic to determinates in what category the user is. }

Después de eso, puede eliminar esta línea.

 var imc = peso / (altura * altura / 10000)
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