UseEffect 不被数据库更改调用

时间:2021-04-30 13:34:31

标签: react-native react-redux react-hooks use-effect react-native-firebase

我正在尝试在 use effect 中运行一个简单的代码。我已经设置了对数据库的依赖。因此,根据规则,当数据库将被更改时,应自动调用使用效果。但是我更新了评分的值,使用效果没有调用。所以效果不会显示更新后的值。

但是如果我按 cntrl+ s 则使用效果会自动调用并且更新的值是 hown>

现在,请帮助解决我的问题,以便我更改任何数据库时都会自动调用使用效果。 这是代码

useEffect(() => {
    console.log('testt--222------------------')
    database.ref(`courselist/${CourseId}`)
        .child('courseReview')
        .orderByChild('rating')
        .equalTo(5)
        .once('value')
        .then(snapshot => {
            One = snapshot.numChildren();
            console.log('-------One-----', One);
            setonestarsum(((One / x) * 100));
            console.log('testt--------------------', One)
        });

}, [database]);

1 个答案:

答案 0 :(得分:0)

您使用 Google Firebase 吗?否则它将无法工作,因为 useEffect 无法检查数据库中的更改。