[英]react-native Native element detection
我想在我的本机应用程序中检测用户是否有触摸ID传感器,然后如果他有,我想显示具有本机元素操作的按钮,而不仅仅是普通操作按钮。 当我创建if语句时,它显示了一个错误。 我在博览会客户端SDK中使用“ create-react-native-app”。
错误信息
码
class LoginButton extends React.Component {
state = {
waiting: false,
};
render() {
let authFunction;
if (NativeModules.ExponentFingerprint.hasHardwareAsync() === true) {
if (Platform.OS === 'android') {
authFunction = async () => {
this.setState({waiting: true});
try {
let result = await NativeModules.ExponentFingerprint.authenticateAsync();
if (result.success) {
alert('Udało Ci się zalogować')
} else {
alert('Logowanie nie udane')
}
}
finally {
this.setState({waiting: false})
}
};
} else if (Platform.OS === 'ios') {
authFunction = async () => {
let result = await NativeModules.ExponentFingerprint.authenticateAsync(
'Zaloguj się przy użyciu TouchID'
);
if (result.success) {
alert('Udało Ci się zalogować')
} else {
alert('Logowanie nie udane')
}
};
}
return (
<Button onPress={authFunction} title="Zaloguj się przy użyciu odcisku palca" style={styles.buttonStyle}>
{this.state.waiting
? 'Czekam na TouchID...'
: 'Zalogowano przy użyciu TouchID'}
</Button>
)
} else if (NativeModules.ExponentFingerprint.hasHardwareAsync() === false) {
return (
<Button onPress={} title="Zaloguj się" style={styles.buttonStyle}/>
)
}
}
}
问题在这里
<Button
onPress={} <--- here
title="Zaloguj się"
style={styles.buttonStyle}
/>
React不允许您将空表达式分配给JSX属性。
为了修复它,只需将其删除
<Button title="Zaloguj się" style={styles.buttonStyle}/>
或将其分配给例如authFunction
,它将为null。
<Button onPress={authFunction} title="Zaloguj się" style={styles.buttonStyle}/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.