React native 如何将状态从一个redux duck传递到另一个redux duck?

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将['

我正在使用,它使用react-native、react-redux、redux-loop和各种其他东西

我有一个负责认证的。登录完成后,它会将一些重要的会话信息写入存储区的
['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)
    })
  }
}