0

这是我的注销功能,应在注销后将用户重定向到登录屏幕。但它不起作用,我收到错误“此渲染没有返回任何内容”。

const signout= async() => {
    setShowLoading(true);
    try {
        const a= await auth().signOut().then(()=>{
            console.log(a);
            setUser(null)
            setShowLoading(true)
            if(!user)
            {
                return navigation.navigate('Login')
            }

           } 
        );

    }
     catch (e) {
        setShowLoading(false);
        Alert.alert(
            e.message
        );
    }
};

这是我的功能回归

return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <Text>Welcome {user.email}</Text>
        <Button title="logout" onPress={()=>signout()}/>
        {showLoading &&
                <View style={styles.activity}>
                    <ActivityIndicator size="large" color="#0000ff" />
                </View>
            }
    </View>
);
4

1 回答 1

0

渲染函数没有返回任何内容意味着,你们中的一个组件没有返回任何内容来渲染。在您的代码块的情况下,如果有用户,则不会返回任何内容。您可以编辑 renderMethod 以返回主屏幕,也可以根据您的要求在设置或取消设置用户之前将用户导航到不同的页面。无论哪种方式,react 都必须有一些东西要渲染到屏幕上,否则它会抛出这样的错误。

于 2020-03-27T07:49:49.750 回答