我是 React、React Native 和 Redux 的新手,所以在过去的几天里,我正试图围绕这些新闻概念展开思考。
我现在遇到的一个问题是在 Action Creator 中计算新数据,然后将其包裹在 action 对象周围并传递给 reducer,这需要来自状态树中其他分支的数据。你通常会如何解决这个问题?更改全局状态树的结构或将这条数据映射到需要它的组件?
给定状态树:
{
ListView:{
dataSource : a ListView.DataSource type
}
SubmitForm:{
title : 'name of title',
text : 'description'
}
isFetchingData: true/false
}
据说,每个分支都由不同的 reducer 处理,每个分支的数据作为 props 传递到单独的组件中。
这是场景(我正在使用 Redux 将React 教程翻译成 React Native):
- 在 SubmitForm 中单击提交按钮
- --> 发送一个动作来通知 store 正在发送数据,然后异步抓取并发送 {title,text} 到 API 服务器。
- 成功后 ---> 计算从 API 服务器返回的 dataSource 并将结果 dataSource 传递给 reducer(根据教程)。通过计算数据源,我的意思是 dataSource.cloneWithRows(....)(在此处解释),它需要来自 ListView 的数据源,如上所示。
所以我的想法是表单组件不应该有一个名为 dataSource 的道具,因为它来自状态树中的另一个分支。但是没有它,我不确定如何实现所需的数据源。根据我对 Redux 模式的理解,更改(在这种情况下合并 ListView 和 SubmitForm)状态树的结构也会很奇怪。那么有人可以帮我解决这个问题吗?谢谢