У меня есть простое сомнение, что я могу надеяться, что кто-то может помочь мне. У меня есть простое приложение, которое имеет главный экран, на котором загружаются все данные, которые я получаю из базы данных SQLite, но когда я go выхожу на экран «Добавить в базу данных» и добавляю некоторые данные и записи в базу данных, я использую функция для go возврата к предыдущему экрану (props.navigation.goBack()
).
К сожалению, когда я попадаю на экран A, моя ловушка не 'refre sh' и не обновляет данные из базы данных. Есть ли способ заставить его обновить sh экран A, чтобы сделать новый вызов в базу данных и обновить sh данные новыми данными?
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>
)
}
А вот и ScreenB. js
import React, { useEffect } from 'react';
import { View, TouchableOpacity, Text } from 'react-native';
export default function ScreenB() {
function goBackToScreenA() {
addDataToDatabase();
props.navigation.goBack();
}
return(
<View>
<TouchableOpacity onPress={() => { goBackToScreenA() }}>
<Text>Go Back</Text>
</TouchableOpacity>
</View>
);
}