A React Native component based on FlatList that provides an option to display different views for each of its states (empty datasource, error, loading).