如何在react native中获取按钮点击时的值?

0vvn1miw  于 2023-04-22  发布在  React
关注(0)|答案(2)|浏览(255)

我有一个基本的表单,它包括两个文本输入和一个按钮。

const Signup = () => {

    const [username, setUsername] = useState('');
    const [password, setPassword] = useState('');
  
   
  
    const handleChangeUsername = () =>{
      setUsername(username);
    }
    const handleChangePassword = () =>{
      setPassword(password);
    }

    const btnSignup = ()=>{
        // auth()
        // .createUserWithEmailAndPassword(setUsername,setPassword)
        // .then(() => {
        //   console.log('User account created & signed in!');
        // })
    
        
      }
  return (
    <View>
        <View>
        <TextInput onChangeText={handleChangeUsername}>Kullanıcı Adı</TextInput>
        <TextInput onChangeText={handleChangePassword} >Password</TextInput>
        </View>
       <View><Button onPress={btnSignup} title="TIKLA"/></View>
       
      </View>
  )
}

export default Signup;

我不能使用btnSignup方法,因为当它的运行给予一个错误。哪里是一个错误?这个项目creadetReact本地CLI。

gcuhipw9

gcuhipw91#

1.您正在尝试console.log(setUsername),这是一个状态设置器函数。如果您想记录值,则需要写入:console.log(username)
1.你还需要更新你的handleChangeUsername和handleChangePassword来接收输入值和更新状态,如下所示:const handleChangeUsername = (value) => { setUsername(value); }
如果你想记录用户名和密码,你可以在btnSignup中这样做,看起来像这样:

const btnSignup = () => {
  console.log('Username:', username);
  console.log('Password:', password);
}
50few1ms

50few1ms2#

我会替换你的文字输入如下

<View>
<TextInput onChangeText={setUsername} value={username} placeholder="Username" />
<TextInput onChangeText={setPassword} value={password} placeholder="Password" secureTextEntry={true}/>
</View>

如果你尝试控制台日志用户名写console.log(用户名)而不是console.log(setUsername)

相关问题