我正在使用React Native,当我使用如下JavaScript函数时,我遇到了错误:
const User = ({navigation, route}) => {
//SIGN OUT
function signOutHandler() {
signOut(auth)
.then(() => {
console.log('user signed out')
navigation.navigate('SignIn')
})
.catch(err => {
// console.log(err.message)
})
}
let label = route.params.name
label.toString().charAt(0).toUppercase();
console.log(label)
return (
<View style={styles.userContainer}>
<View style={styles.bio}>
<IconButton name="account-circle" size={70} style={styles.pp} />
<View style={styles.cred}>
<Text style={styles.text}>{label}</Text>
<Text style={styles.text}>{route.params.email}</Text>
<Text style={styles.text}>You have currently <Text style={styles.bold}>{route.params.notes.length}</Text> notes.</Text>
</View>
</View>
<View style={styles.bc}>
<Button title='Delete Account' color={'red'} onPress={signOutHandler} />
<Button title='Sign Out' onPress={signOutHandler} />
</View>
</View>
)
}
export default User
我也不能用.length()得到一个数组的长度。它抛出了同样的错误。我想我犯了一个简单的错误。如果你能帮助我,我会很高兴的。
1条答案
按热度按时间42fyovps1#
如果
label
的值为undefined
,则意味着route.params.name
不存在-name
不是params
上的属性。您可以使用optional chaining来防止错误。在JavaScript中,我们使用简单的
length
而不是length()
来获得length of arrays,因为它是一个属性而不是一个方法。