我的Shoutem扩展名中有一个sets
的数据架构,其中包含我从SoundCloud帐户提取的播放列表和专辑。每个set
都有一个type
字段,指示它是专辑还是播放列表。
在我的reducer.js中,我有一个简单的集合(根据文档),该集合可以提取所有集合。
export default combineReducers({
sets: storage(ext('Sets')),
allSets: collection(ext('Sets'), 'all'),
}
在我的组件中,该数据是通过find
方法获取的:
componentDidMount() {
if (shouldRefresh(this.props.sets)) {
this.props.find(ext('Sets'), 'all', {
include: 'tracks',
});
}
}
...并且它也连接到状态。我不确定find
或getCollection
是否实际上正在检索数据:
export default connect(
(state) => ({
sets: getCollection(state[ext()].allSets, state),
}),
{ navigateTo, find }
)(
connectStyle(ext('AlbumList'))(AlbumList)
);
如何在type='album'
处提取该数据的子集?现在,我正在对.filter
方法返回的数据使用基本的js render
,但是我敢肯定应该有某种方法来使用reducer。我对减速器这个概念并不陌生,redux-io
documentation似乎是不完整的。