Реактивная функция сортировки не работает в FlatList - PullRequest
1 голос
/ 21 апреля 2020

Привет, я создаю функцию сортировки, используя реакционную систему ,


Я использую Плоский список для отображения элементов списка. когда я работаю в эмуляторе, а также в сети, в консоли не отображается сообщение об ошибке, но функция сортировки не работает.

мой код указан ниже, пожалуйста, проверьте

  import React, { Component } from 'react';
import contacts,{ compareNames } from './contacts'
import Card from './Card'
import {
  View,
  Button,
  StyleSheet,
  FlatList,
} from 'react-native';


const styles = StyleSheet.create({
  mainwrap: {
    display:'flex',
    flexGrow: 1,
    justifyContent: 'space-between',
    paddingBottom:30,

  },
  txtheading:{
    backgroundColor:'black',
    margin:'auto',
    marginTop:50,
  },
  scollitms:{
    display:'flex',
    flex:1,
    position:'relative'
  }
});
export default class App extends Component {
  state = {
    showCounter: true,
    contacts:contacts
  }
  toggglecounter = () => {
    this.setState((prev) => ({showCounter: !prev.showCounter}))
  }
  sorting = () => {
    this.setState((prev) => ({
      contacts: [...prev.contacts].sort(compareNames)
    }))
  }
  renderItem = ({item}) => (<Card key={item.id} {...item} />)
  render() {
      return (
        <View style={[styles.mainwrap]}>
          <View style={[styles.marginfromtop , styles.countfont, styles.txtheading]}>
            <Button style={{ marginTop: 50, zIndex:999}} onPress={this.toggglecounter} title="Toggle Contacts" />
            <Button onPress={this.sorting} title="sort" />
          </View>
         {this.state.showCounter ?
          <FlatList  style={[styles.scollitms]}
            data={this.state.contacts}
            renderItem={this.renderItem}
            keyExtractor={item => item.key.toString()}
          />
          : null
          }
      </View>
    );
  }
}

ниже приведена сортировка функция, которую я вызываю

export const compareNames = (contact1, contact2) => contact1.name > contact2.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...