反应本地错误:“渲染未返回任何内容”

时间:2020-03-27 06:12:20

标签: firebase react-native

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

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>
);

1 个答案:

答案 0 :(得分:0)

渲染功能未返回任何内容,表示您其中一个组件未返回任何要渲染的内容。在您的代码块的情况下,在有用户的情况下,什么也不返回。您可以编辑renderMethod返回主屏幕,也可以根据需要将用户导航到其他页面,然后设置或取消设置用户。无论哪种方式,react必须在屏幕上呈现一些内容,否则它将引发类似这样的错误。