React native 如何将状态从一个redux duck传递到另一个redux duck?
我正在使用,它使用react-native、react-redux、redux-loop和各种其他东西 我有一个负责认证的。登录完成后,它会将一些重要的会话信息写入存储区的React native 如何将状态从一个redux duck传递到另一个redux duck?,react-native,redux,React Native,Redux,我正在使用,它使用react-native、react-redux、redux-loop和各种其他东西 我有一个负责认证的。登录完成后,它会将一些重要的会话信息写入存储区的['auth','env']部分 我还有一只鸭子叫Browse,负责浏览数据列表。该鸭子需要访问env数据才能发出服务器请求 状态树如下所示: state +-- auth +-- env +-- browse +-- ... 通过使用my BrowseViewContainer将['
['auth','env']
部分
我还有一只鸭子叫Browse,负责浏览数据列表。该鸭子需要访问env
数据才能发出服务器请求
状态树如下所示:
state
+-- auth
+-- env
+-- browse
+-- ...
通过使用my BrowseViewContainer将['auth','env']
数据连接到视图中,我可以知道如何将['auth','env']
传递到我的BrowseView没有问题。例如:
connect(
state => ({
env: state.getIn(['auth', 'env']),
...
})
)(BrowseView)
但是,在我的BrowseView中我不需要env
,我需要它在我的BrowseDuck中,因为duck是发出http请求的人,需要env
将状态信息(
env
)从状态树的一部分(auth
)传递到另一部分(browse
)的最佳方式是什么?或者,对于我来说,有没有比在auth
中更好的地方来存储这些信息,以便从其他鸭子那里更容易访问这些信息?事实证明,redux thunk是实现这一点的一种方法,而pepperoni app kit已经在使用redux thunk了
我没有从动作创建者返回动作,而是返回thunk对象,thunk可以访问完整的状态树
例如,我最初的action creator看起来像:
export function list () {
const env = ??? // where to get env?
return {
type: LIST_RESPONSE,
payload: getList(env)
}
}
使用thunk重写的一个:
export function list () {
return (dispatch, getState) => {
const env = getState().get('auth').get('env')
dispatch({
type: LIST_RESPONSE,
payload: getList(env)
})
}
}