繁体   English   中英

反应本机元素检测

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM