Helper方法需要花费大量时间从Firebase检索数据,从而导致呈现错误

时间:2019-04-07 19:31:56

标签: firebase react-native firebase-realtime-database

由于尚未加载要显示的数据,因此无法加载状态。

首先,我将服务器逻辑放入组件中,并且可以正常工作,但是我需要在许多组件上重复使用此逻辑,因此我决定将readUserDate函数放入辅助方法中,但是现在,它不再起作用了。

我该如何解决? (提前感谢您)

import config from "./Config"
import firebase from "firebase";

export function readUserData(path) {
    firebase.database().ref(path).on('value', function (snapshot) {
        console.log(snapshot.val())
        return snapshot.val()
    });
}

import { readUserData } from "../../../server/Actions"
class Resultats extends Component {
    constructor() {
        super()
        this.state = {
            loading: true,
        }
    }

    componentWillMount() {
        let path = "devInc"
        this.setState({
            results: readUserData(path),
            loading: false,
        })
    }

    render() {
        if (this.state.loading) {
            return (
                <View style={styles.container}>
                    <ActivityIndicator size="large" />
                </View>
            );
        }
        return (
            <View style={styles.container}>
                <Text>data</Text>
                <Text>{this.state.results['-LbstaCmVt1nAWUrTw4T'].date}</Text>
            </View>
        );
    }

}


1 个答案:

答案 0 :(得分:0)

尝试一下:

setAlignment()

建议

最好通过redux动作完成