Перегруппировать плоские элементы без перезагрузки React Native - PullRequest
0 голосов
/ 28 апреля 2020

Я ищу перестановку элементов 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,
  },
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...