我正在try 按"title"属性对一个对象数组进行排序.如何切换按Asc排序和按Desc按钮切换?
我有以下内容,但数据不按切换排序
const [text, setText] = useState('');
const [data, setData] = useState([]);
const [toggleFilter, setToggleFilter] = useState(false);
const sortedArray = useMemo(
() =>
toggleFilter
? [...data].sort((a, b) => a.title - b.title)
: [...data].sort((a, b) => b.title - a.title),
[data, toggleFilter],
);
return (
<View>
<FlatList
style={styles.flatlist}
data={sortedArray}
renderItem={({ item }) => <Text>{item.title}</Text>}
keyExtractor={(item) => item.id}
/>
<View style={styles.container}>
<Pressable
style={styles.button}
onPress={() => setToggleFilter(!toggleFilter)}
testID="sort-direction">
<Text style={styles.text}>{toggleFilter ? '⬇️' : '⬆️'}</Text>
</Pressable>
</View>
</View>
);
};