亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法讓狀態在 React Native 中工作

無法讓狀態在 React Native 中工作

絕地無雙 2023-05-11 16:36:41
我對 React Native 中的狀態概念還很陌生,無法使用它們來更改組件的狀態。我有三個文本組件,一個是問題,另外兩個是答案(是和否),另一個文本組件檢查我對問題的回答是否已寫,因此檢查文本組件。當我針對某個問題單擊“是”時,如果答案為“是”,則最后一個檢查組件的狀態應更改為“正確”,如果答案為“否”,則更改為“錯誤”。所以基本上,這就是我想要做的:這是我到目前為止所擁有的:這是我得到的錯誤:這是我到目前為止的代碼:import React, { useState, useEffect } from 'react';import { StyleSheet, Text, View, TouchableOpacity, Alert, ScrollView, Image } from 'react-native';// import TextComp from './components/Home2'export default function App() {  const [answer, setAnswer] = useState('answer');  const [correctAns, setCorrectAns] = useState('');  const useEffect = () => {    if (answer == 'answer') {      setCorrectAns('please answer!');    } else if (answer == 'Yes') {      setCorrectAns('Right');    } else if (answer == 'No') {      setCorrectAns('Wrong');    };  };  const corAns = () => { Alert('Your answer was ', correctAns) }  return (    <ScrollView style={styles.container}>      <View style={{ alignItems: 'center' }}>        <Image source={require('./images/pic.jpeg')} style={styles.uriImg} />        <Text style={styles.title}>Is this Mt. Fuji?</Text>        <TouchableOpacity          onPress={() => setAnswer('Yes')}>          <Text style={styles.text}>Yes</Text>        </TouchableOpacity>        <TouchableOpacity          onPress={() => setAnswer('No')}>          <Text style={styles.text}>No</Text>        </TouchableOpacity>        <TouchableOpacity          onPress={corAns}>          <Text style={styles.text2}>Check</Text>        </TouchableOpacity>        <Image source={require('./images/yellow.png')} style={styles.uriImg} />}誰能告訴我怎么做?謝謝!
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

像這樣使用 useEffect


useEffect(() => {

 if (answer === 'Yes') {

  Alert.alert('Right')

 }

 if (answer === 'No') {

 Alert.alert('Wrong')

 }

}, [ answer ])

或按檢查按鈕


   const checkAnswer = () => {

     if (answer === 'Yes') {

      Alert.alert('Right')

     }

     if (answer === 'No') {

     Alert.alert('Wrong')

     }

     if (answer === 'answer') {

          Alert.alert('please answer')

     }

    }

設置檢查按鈕 onPress={checkAnswer}



查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號