- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当身份验证状态发生更改时,我尝试渲染应用程序的主入口点,但是当我尝试转到应用程序的主入口点时,我得到一个空白屏幕。我假设如果渲染函数本身没有调用它,我就无法进入主页?如果是这样,当我建立登录时如何呈现应用程序的主页?
class App extends Component {
/*
constructor(props) {
super(props);
this.state = {
authState: null,
authData: null
}
}
*/
handleAuthStateChange(state) {
alert(state)
if (state === 'signedIn') {
alert('here');
return ( // go To Entry point of app
<ApolloProvider store={store} client={client}>
<AppWithNavigationState/>
</ApolloProvider>
);
}
}
render() {
//const { authState, authData } = this.state;
// const signedIn = (authState === 'signedIn');
return (
<Authenticator hideDefault={true} onStateChange={this.handleAuthStateChange}>
<Login/>
</Authenticator>
);
}
}
export default App = codePush(App);
export default class Login extends Component {
render() {
const { authState, onStateChange } = this.props;
if (!['signIn', 'signedOut', 'signedUp'].includes(authState)) {
alert('login')
return null;
}
return (<View style={styles.container}>
<View style={styles.backgroundContainer}>
<Image source={images.icons.LoginImage} style={styles.backgroundImage} />
</View>
<View style={styles.overlay}>
<Button iconLeft light rounded style={styles.facebookLoginButton}>
<Icon style={styles.facebookIcon} name='logo-facebook' />
<Text style={styles.facebookButtonText}>Login with Facebook</Text>
</Button>
<Button rounded bordered light style={styles.loginLaterButton}
onPress={() => onStateChange('signedIn')}>
<Text style={styles.buttonText}>Sign In Test</Text>
</Button>
</View>
</View>
);
}
}
最佳答案
如果您解决了这个问题,我希望它对其他人有帮助。
我认为以下是比使用“onAuthStateChange”更好的选择:
来自Amplify dox :
import { Auth } from 'aws-amplify';
Auth.currentAuthenticatedUser({
bypassCache: false // Optional, By default is false. If set to true, this call will send a request to Cognito to get the latest user data
}).then(user => console.log(user))
.catch(err => console.log(err));
您可以在“.then(user => ...”中添加逻辑,以添加到 protected 页面的路由。您还可以从“.catch(err => ”)重定向到登录页面。
如果您将上述代码包含在函数中并从“componentWillReceiveProps”调用它,则每次身份验证状态更改时都应该调用它。
关于javascript - AWS 放大 : onStatusChange then render main page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48478494/
如果 GPS_PROVIDER 的状态发生变化,我会尝试接收通知。我在这里找到了以下代码 (http://hejp.co.uk/android/android-gps-example/),但我没有收到
我对 LocationListener 类的 onStatusChanged 有一些疑问。 它知道它可以呈现三种状态:AVAILABLE、TEMPORARILY_UNAVAILABLE 和 OUT_O
出于某种原因,虽然我实现了 LocationListener在我的 Android 应用程序中,onStatusChanged给我一个“方法不覆盖其父类(super class)中的方法”编译错误。
我有一个带有按钮的简单 Activity ,它使用 LocationManager 来尝试获取当前位置: protected void onCreate(Bundle savedInstanceSta
当身份验证状态发生更改时,我尝试渲染应用程序的主入口点,但是当我尝试转到应用程序的主入口点时,我得到一个空白屏幕。我假设如果渲染函数本身没有调用它,我就无法进入主页?如果是这样,当我建立登录时如何呈现
当我构建我的项目时,我有这个输出: onStatusChanged(String,int,Bundle) in LocationListener has been deprecated 我发现我必须用
你好,我是 ajax 的新手,我将它与 jquery 一起用于在另一个 html 文档中的 html div 中加载 html 文档,我实现此目的的方式是这样的: function pageloa
我在使用 MooTools 和 jQuery 的 Firefox 3 中的 firebug 中遇到以下错误:“p.onStatusChange 不是函数”。 自从 FF3 的最新更新之一以来,我经常在
我是一名优秀的程序员,十分优秀!