小编ofe*_*ila的帖子

使用 Hooks 使用 React Native 返回时刷新屏幕 A

我有一个简单的疑问,希望有人能帮助我。我有一个简单的应用程序,它有一个主屏幕,其中加载我从 SQLite 数据库获得的所有数据,但是,当我转到“添加到数据库屏幕”并在数据库中添加一些数据和记录时,我使用了一个函数返回上一屏幕 ( props.navigation.goBack())。

不幸的是,当我到达屏幕 A 时,我的钩子不会“刷新”或更新数据库中的数据。有没有办法让它刷新屏幕A以重新调用数据库并使用新数据刷新数据?

ps:为了调用数据库,我使用今天的日期来获取查询中的数据,所以我的日期不会更新。

这是我的代码:

ScreenA.js

import React, { useEffect, useState } from 'react';
import { View, TouchableOpacity, Text } from 'react-native';

export default function ScreenA() {

   const [data, setData] = useState([]);

    useEffect(() => {
        setData(getDataFromApi())
    }, []);

    return(
        <View>
            { apiResponse() }
            <TouchableOpacity onPress={() => { props.navigation.navigate('ScreenB') }}
                <Text>Add data</Text>
            </TouchableOpacity>
        </View>
    )
}
Run Code Online (Sandbox Code Playgroud)

这是 ScreenB.js

import React, { useEffect } from 'react';
import { View, TouchableOpacity, Text } from 'react-native';

export default …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native react-native-android react-navigation

3
推荐指数
2
解决办法
3727
查看次数