我是AWS Amplify
的新手,只是想不通如何让我的 App类等待用户登录,然后再加载所有其他导航组件,然后使身份验证组件也消失。我正在使用withAuthenticator
函数导出我的应用。最好的方法是什么? Tkx!
试图找到登录后操作的示例,但没有成功。
class App extends Component {
constructor(props) {
super(props);
}
render() {
return (
<Navigator />
);
}
}
export default withAuthenticator(App);
导航组件已加载到“登录”屏幕上。用户登录后,登录屏幕不会消失,并与其他组件重叠。
答案 0 :(得分:0)
我想我想出了最好的方法是使用Authenticator而不是withAuthenticator:
class AppWithAuth extends Component {
state = {
authState: ''
};
render() {
return (
<View style = { styles.container }>
<Authenticator
amplifyConfig = {awsconf}
onStateChange = {authState => this.setState({ authState })}
>
{this.state.authState === 'signedIn' && <App />}
</View>
...
}
class App extends Component {
render() {
return (
<View style = { styles.container }>
<Navigator />
</View>
);
}
}