Authentication 反应本机:在状态更改时重新呈现应用程序(身份验证状态更改)

Authentication 反应本机:在状态更改时重新呈现应用程序(身份验证状态更改),authentication,react-native,render,Authentication,React Native,Render,目前,我正在检查用户是否在应用程序启动期间获得授权,并根据结果显示应用程序。 但是,用户在使用应用程序时可能会登录或注销,我希望在这些情况下重新呈现应用程序,以便我的逻辑停留在一个位置,即应用程序启动时。 有没有办法做到这一点 默认情况下,当状态更改时,渲染函数将再次调用。您可以根据状态更改渲染函数,然后当该状态更改时,视图将发生更改。。。例如: render() { return ( <View> {

目前,我正在检查用户是否在应用程序启动期间获得授权,并根据结果显示应用程序。 但是,用户在使用应用程序时可能会登录或注销,我希望在这些情况下重新呈现应用程序,以便我的逻辑停留在一个位置,即应用程序启动时。 有没有办法做到这一点

默认情况下,当状态更改时,渲染函数将再次调用。您可以根据状态更改渲染函数,然后当该状态更改时,视图将发生更改。。。例如:

render() {
    return (
         <View>
             {
                 this.state.authorized == true ?
                     <Text>authorized</Text>
                 :
                     <Text>unauthorized!</Text>
             }
         </View>
    )
}
因此,当this.state.authorized发生更改时,渲染函数会根据状态显示不同的视图

但如果您想在状态更改时重新启动应用程序,您可以在需要时使用软件包并重新启动应用程序。无法在每次状态更改时重新启动应用程序,因为RN生命周期中有许多状态更改,并且应用程序将频繁重新启动。我希望它能帮助你

render() {
    const { authorised } = this.state;
    const userMessage = authorised ? "authorized" : "unauthorized";

    return (
         <View>
             <Text>{ userMessage }</Text>
         </View>
    )
}

您还可以使用道具来维护用户的状态,并根据道具值呈现组件/消息。

这将重新呈现视图,而不是整个应用程序。我想在身份验证状态更改时重新呈现整个应用程序。我刚刚编辑了我的答案,希望它能解决您的问题。