![](/img/trans.png)
[英]How can I call two functions on an 'onPress' event in React Native?
[英]How to combine these two onPress functions?
我正在制作一個成績計算器應用程序。 我正在使用 AsyncStorage 在手機上本地存儲我的“類”對象。 當我在 main.js 屏幕上單擊其中一門課程時,它將打開另一個名為 courseDetails.js 的屏幕。 在那里,有一個刪除按鈕,正如預期的那樣,它將 object 從存儲對象的數組中刪除。 我的問題是,我希望我的刪除按鈕能夠執行onPress={() => removeCourse(course.key)}
和onPress={() => navigation.navigate('Home')
,所以它會刪除我的 object ,然后帶我回到主屏幕,但我該如何組合它們呢? 它們都單獨工作,但我不能讓它們同時工作......有關更多上下文,這是我的removeCourse()
function:
const removeCourse = (courseKey) => {
console.log('remove course')
newCourses = courses.filter((course) => {
return course.key != courseKey
});
setCourses(newCourses);
save(newCourses);
這是courseDetails.js
代碼:
import React from 'react';
import {StyleSheet, View, Text, } from 'react-native';
import { globalStyles } from '../styles/global';
import DetailCard from '../shared/detailCard';
import DeleteButton from '../shared/deleteButton';
export default function CourseDetails({navigation}){
let course = navigation.getParam('course')
let removeCourse = navigation.getParam('removeCourse')
return(
<View style={globalStyles.container}>
<DetailCard>
<Text >{course.course}</Text>
<Text >{course.prof}</Text>
{/* <Text >{navigation.getParam('gpa')}</Text> */}
</DetailCard>
<DeleteButton text='Delete Course' onPress={() => navigation.navigate('Home')}/> //onPress in question
</View>
)
}
您是否嘗試過將兩者結合在一個 onPress 回調中,像這樣?
<DeleteButton text='Delete Course' onPress={() => {
removeCourse(course.key);
navigation.navigate('Home');
}}/>
您可以使用useEffect
並將課程作為依賴項包含在useEffect
中。 一旦課程中的某些內容被刪除, useEffect
被觸發,您可以在其中指示 react 導航回您想要的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.