1

Firebaseデータベースから抽出したアイテムのリストがあり、反応するネイティブアプリでアルファベット順に並べ替える必要があります。だからここに私が使用しているコードです:FirebaseデータベースのアイテムをReactネイティブリストビューで並べ替え/並べ替え

listenForItems(itemsRef) { 
     itemsRef.on('value', (snap) => { 

      let items = []; 
      snap.forEach((child) => { 
       items.push({ 
        name: child.val().name, 
        _key  : child.key 
       }); 
      }); 

      this.setState({ 
       dataSource: this.state.dataSource.cloneWithRows(items) 
      }); 

     }); 
    } 


render() { 
     return (
       <ListView 
        automaticallyAdjustContentInsets={true} 
        dataSource={this.state.dataSource} 
        renderRow={this._renderItem.bind(this.props)} 
        enableEmptySections={true}/> 
     ); 
    } 

私はこのhttp://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-queryを見つけましたが、私は実際にデータソースのソート方法を使用する方法を知りませんでした。どんな助け?私はまた、ネイティブのリストビューに反応するアイテムをソートするための他のソリューションにもオープンしています。

答えて

1

データセットに適用する前にリストをArray.prototype.sortでソートするだけです。私はスニペットを壊すので、今はRNコードを削除しました。

let items = [{ 
 
    name: 'Z' 
 
}, { 
 
    name: 'A' 
 
}, { 
 
    name: 'Y' 
 
}]; 
 

 
let sorted = items.sort((a, b) => { 
 
    if (a.name < b.name) { 
 
    return -1; 
 
    } 
 
    if (a.name > b.name) { 
 
    return 1; 
 
    } 
 
    return 0; 
 
}); 
 

 
console.log(sorted)

+0

..あなたに感謝しかし、私はそれが私の場合には適用だとは思わない:私はFirebaseデータベースからそれらを取得する前に知っていない大量のデータを持っています..実際に私のケースのアイテムは、アプリケーションの使用中にデータベースから動的に請求されています – user3521011

関連する問題