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

207
Visualizações
React Native: declaración condicional de devolución en vista

Estoy enfrentando un problema extraño. En mi aplicación nativa de reacción, tengo condiciones que representan View y ScrollView . El problema es que la declaración falsa se muestra primero antes de la declaración verdadera, por lo que tengo un ejemplo a continuación, digamos que PinCodeVisible.showPinLock is true , por lo que Pincode no debe mostrar la declaración falsa, que es el texto. Mi problema es que muestra primero la declaración falsa, que es el text , y luego, después de cargar la declaración verdadera, que es un pincode , solo quiero ignorar el text debajo de la declaración falsa, ya que es falso.

¿Por qué se muestra incluso si es una declaración falsa? ¿Me perdí algo?

 const [PinCodeVisible, setPin] = useState({ PINCodeStatus: "choose", showPinLock: false }); React.useEffect(() => { setPin({ showPinLock: true}); //let say the pincode is true }, []) return ( <View style={styles.container} > {PinCodeVisible.showPinLock === true ? ( <PINCode // modalVisible={modalVisible} status={PinCodeVisible.PINCodeStatus} touchIDDisabled={true} finishProcess={() => _finishProcess()} timeLocked={5000} /> ) : <ScrollView style={styles.container}> //this scrollview shown first event the statement is true <Text>This text will show before the true statement above</Text> // it should not shown because the statement is true </ScrollView>} </View> ) const styles = StyleSheet.create({ container: { flex: 1, }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede verificar las siguientes cosas,

  1. Aquí, si desea mostrar una declaración verdadera en la carga de la página, debe establecer verdadero como un valor inicial de su estado, solo que no es necesario establecerlo en useEffect.

const [pinCodeVisible, setPin] = useState({ PINCodeStatus: "choose", showPinLock: true });

  1. Si desea actualizar un objeto, puede actualizar utilizando el operador de propagación.

setPin({ ... pinCodeVisible, showPinLock: true});

  1. En el método de renderizado, puede usar el operador condicional como se muestra a continuación
 return ( <View style={styles.container}> {(pinCodeVisible.showPinLock && ( <PINCode finishProcess={() => _finishProcess()} status={pinCodeVisible.PINCodeStatus} timeLocked={5000} touchIDDisabled={true} /> )) || ( <ScrollView style={styles.container}> <Text>This text will show before the true statement above</Text> </ScrollView> )} </View> );
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