我想在捕获特定错误后重新呈现整个页面。这是我的代码:
FingerprintScanner
.authenticate({ description: 'Log in with Biometrics' })
.then(() => {
this.props.navigation.navigate('MainAuth');
})
.catch((error) => {if (error.name === 'UserCancel'
|| error.name === 'UserFallback') {
//re-render the app
}
})
因此,在捕获这些错误之后,我希望能够重新启动该页面。我使用的是react-native-fingerprint-scanner,它从具有“取消”按钮的本机代码中弹出一个模式,我不希望用户能够取消该按钮,但我无法删除该按钮,因为它在本机代码(我不想在那儿乱七八糟)。因此,唯一的解决方案是在单击“取消”后再次调用相同的方法。我只是通过调用此代码所在的方法来尝试,并且它只能工作一次,但是当我再次尝试取消时,它不再调用该方法。为什么?
您可以尝试这样的事情。
function confirmFingerprint() {
FingerprintScanner
.authenticate({ description: 'Log in with Biometrics' })
.then(() => {
return true
})
.catch((error) => {if (error.name === 'UserCancel'
|| error.name === 'UserFallback') {
return false
}
})
}
function click() {
if(confirmFingerprint()) {
this.props.navigation.navigate('MainAuth');
} else {
click();
}
}