访问路由器组件中的存储

时间:2019-03-07 20:27:18

标签: reactjs react-redux react-router

我尝试通过开发一个示例项目来自己学习react / redux。我有angular.js和后端背景。

我希望在github上分享我的进度,而不是大量复制文件: https://github.com/tolgafiratoglu/react-social-network

我到目前为止的进展:

  1. 我开发了user reducercombined itcreated a store
  2. 我开发了一个用户操作,fetches from api and dispatches reducer(正常工作)
  3. 我在Home组件的构造函数中dispatch user action,如下所示:

    store.dispatch(userActions.getAuthenticatedUser())
    

我被困住的是,我不知道如何访问路由器组件(例如家庭)中的商店数据。检索数据后,我只想将用户ID传递给ProfileGroupsWidget。

1 个答案:

答案 0 :(得分:2)

假设您要访问Home组件中的商店值。为了首先使用存储状态,您需要通过将存储状态包装在Provider中来传递存储状态,该Provider将状态传递给所有子组件。然后是子组件(Assuming = Home)。您可以将以下行写为:

export default connect(mapStateToProps, mapDispatchToProps)(Login)

然后在此之前编写一个函数

const mapStateToProps = state => ({ todoList: state.todos })

之后,您可以访问道具:

this.props.todoList