目前,我正在检查用户是否在应用启动期间获得授权,并根据结果显示应用。
但是,用户可以在使用应用程序时登录或注销,我想在这些情况下重新渲染应用程序,以便我的逻辑停留在一个位置(即应用程序启动时)。
有没有办法实现这一目标?
答案 0 :(得分:0)
默认情况下,当state
更改时,render
功能会再次调用。您可以根据render
更改state
功能,然后当state
发生更改时,view
会发生更改...例如:
render() {
return (
<View>
{
this.state.authorized == true ?
<Text>authorized</Text>
:
<Text>unauthorized!</Text>
}
</View>
)
}
所以当this.state.authorized
发生变化时,render
函数会根据view
显示不同的state
。
但是如果您想在state
更改时重新启动应用,则可以使用React Native Restart包并在需要时重新启动应用。由于RN生命周期中有许多state
次更改,您的应用会频繁重启,因此无法在每次state
更改时重新启动您的应用。我希望它会对你有所帮助。
答案 1 :(得分:0)
render() {
const { authorised } = this.state;
const userMessage = authorised ? "authorized" : "unauthorized";
return (
<View>
<Text>{ userMessage }</Text>
</View>
)
}
您还可以使用道具来维护用户的状态,并根据道具值渲染组件/消息。