Я ищу перестановку элементов Flatlist без ссылки sh Flatlist / reload в React Native, как и в приложениях чата. Когда вы получаете новое сообщение от кого-то из списка, этот человек будет первым на list.
Я много искал, и все, что я мог найти, это добавлять, удалять, перетаскивать и сортировать. Я ожидаю, что это произойдет автоматически, когда пользователь получит сообщение, что сообщение будет первым в списке.
весь код, который у меня есть на данный момент, является плоским списком с фиктивными данными
сейчас Допустим, я хочу, чтобы id 3 был номером 1 без обновления / перезагрузки плоского списка, я знаю, что должен использовать анимацию, но я не силен в анимации RN.
import { SafeAreaView, View, FlatList, StyleSheet, Text } from 'react-native';
import Constants from 'expo-constants';
const DATA = [
{
id: '1',
title: 'First Item',
},
{
id: '2',
title: 'Second Item',
},
{
id: '3',
title: 'Third Item',
},
];
function Item({ title }) {
return (
<View style={styles.item}>
<Text style={styles.title}>{title}</Text>
</View>
);
}
export default function App() {
return (
<SafeAreaView style={styles.container}>
<FlatList
data={DATA}
renderItem={({ item }) => <Item title={item.title} />}
keyExtractor={item => item.id}
/>
</SafeAreaView>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: Constants.statusBarHeight,
},
item: {
backgroundColor: '#f9c2ff',
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 32,
},
});