我在 Firestore 中的数据布局:
用户文档包含一组对聊天文档的 id 引用。
前任:
collections
/users
'CQATa3f3d2XmBskmmt8hmCJhzcJ2'
name: '...'
email: '...'
chats: ["RuUKEwsGtR9QylicdgJW", "JlzcIfkZ1KzeXClhJvOE"]
/chats
...
对于当前用户,我想获取与其聊天数组中的每个元素关联的聊天对象。该数据应该转到 firestore.ordered,以便我可以将其提供给 FlatList,但 firestore.ordered.chats 始终未定义,即使 firestore.data.chats 具有正确的数据。
我不确定这是否与我调用 connect 和 firestoreConnect 的顺序或我如何使用填充或其他原因有关。
... Component ...
const populates = [
{ child: 'chats', root: 'chats' }
]
const mapStateToProps = (state, props) => {
return {
auth: state.firebase.auth,
user: populate(state.firestore, 'users', populates),
chats: state.firestore.ordered.chats,
}
}
// ---- TEST ----
export default compose(
connect(mapStateToProps, mapDispatchToProps),
firestoreConnect((props) => {
return [ { collection: 'users', doc: props.auth.uid, populates } ]
}),
)(Main)
在 mapStateToProps 中记录状态的结果: