Javascript Auth.sign()问题:无法读取属性';用户名';

Javascript Auth.sign()问题:无法读取属性';用户名';,javascript,amazon-web-services,react-native,amazon-cognito,aws-amplify,Javascript,Amazon Web Services,React Native,Amazon Cognito,Aws Amplify,我得到了一个错误:在Cognito中尝试使用有效且已确认的用户登录时,无法读取undefined的属性“username”。即使我手动将用户名和密码放入Auth.sign(,)函数,我仍然会收到相同的错误 我正在使用iOS和React Native。我还更新并完成了react原生链接amazon cognito identity js(version@3.0.15) 我怎样才能登录 import Auth from '@aws-amplify/auth' export default clas

我得到了一个错误:在Cognito中尝试使用有效且已确认的用户登录时,无法读取undefined的属性“username”。即使我手动将用户名和密码放入Auth.sign(,)函数,我仍然会收到相同的错误

我正在使用iOS和React Native。我还更新并完成了
react原生链接amazon cognito identity js
(version@3.0.15)

我怎样才能登录

import Auth from '@aws-amplify/auth'

export default class SignIn extends React.Component {

  constructor(props) {
    super(props)

    state = {
      username: ' ',  //this is set from a TextInput field
      password: ' '   //this is set from a TextInput field
    };
  }

// Sign in users with Auth
  async signIn() {
    const { username, password } = this.state
    await Auth.signIn(username, password)
    .then(user => {
      this.setState({ user })
      Alert.alert('Signed In Successful!')
    })
    .catch(err => {
        console.log('Error when signing in: ', err)
        Alert.alert('Error when signing in: ', err)
    })
  }
}


render() {
    return (
     <View style={styles.container}>
         <TouchableOpacity 
            onPress={this.signIn}
            style={styles.button}>
            <Text> Sign In</Text>
          </TouchableOpacity>
     </View>
)}

}
从“@aws放大/Auth”导入身份验证
导出默认类签名扩展React.Component{
建造师(道具){
超级(道具)
状态={
用户名:“”,//这是从TextInput字段设置的
密码:“”//这是从TextInput字段设置的
};
}
//使用Auth登录用户
异步登录(){
const{username,password}=this.state
等待身份验证登录(用户名、密码)
。然后(用户=>{
this.setState({user})
Alert.Alert('登录成功!')
})
.catch(错误=>{
console.log('登录时出错:',错误)
Alert.Alert('登录时出错:',错误)
})
}
}
render(){
返回(
登录
)}
}

首先,状态应该是这样

this.state = {
      username: ' ',  //this is set from a TextInput field
      password: ' '   //this is set from a TextInput field
    };
这里有一个问题

this.setState({ user })
此代码等于:

this.setState({ user:user }) 
这是不正确的。因为状态中没有“用户”属性。此函数用于识别状态的属性。应该是这样的:

this.setState({ username:user })

应该是构造函数中的
this.state={…etc}
吗?是的,我先试过了。没有任何效果我很惊讶,也很惊讶
手动输入用户名和密码
会出现相同的错误-您在哪里手动执行此操作?