refactor: 移除不必要的布局效果,简化任务列表屏幕的代码结构,同时添加下拉刷新功能的支持

This commit is contained in:
xudan 2025-07-24 15:00:46 +08:00
parent 5ef88f533b
commit 3576a82b8a

View File

@ -1,14 +1,7 @@
import React, { useLayoutEffect, useState, useCallback } from 'react';
import {
View,
StyleSheet,
FlatList,
TouchableOpacity,
ActivityIndicator,
} from 'react-native';
import React, { useState, useCallback } from 'react';
import { View, StyleSheet, FlatList } from 'react-native';
import { useNavigation } from '@react-navigation/native';
import { StackNavigationProp } from '@react-navigation/stack';
import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
import { useTasks } from '../context/TasksContext';
import TaskCard from '../components/TaskCard';
@ -38,20 +31,6 @@ export default function TaskListScreen() {
}
}, [refreshTasks]);
useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => (
<TouchableOpacity onPress={handleRefresh} style={{ marginRight: 15 }}>
{isRefreshing ? (
<ActivityIndicator size="small" color="#ffffff" />
) : (
<MaterialIcons name="refresh" size={24} color="#ffffff" />
)}
</TouchableOpacity>
),
});
}, [navigation, isRefreshing, handleRefresh]);
const handlePressTask = (id: string) => {
navigation.navigate('TaskEdit', { taskId: id });
};
@ -67,6 +46,8 @@ export default function TaskListScreen() {
renderItem={renderItem}
keyExtractor={item => item.id}
ItemSeparatorComponent={() => <View style={styles.separator} />}
refreshing={isRefreshing}
onRefresh={handleRefresh}
/>
</View>
);