【问题标题】:Redux Provider not passing down Props/StateRedux Provider 没有传递 Props/State
【发布时间】:2016-12-08 15:33:35
【问题描述】:

我使用 create-react-app 创建了一个 React 应用程序,并将 Redux 添加到其中。添加<Provider store={store} /> 之后,只有我作为connect 上的参数(主要组件)传递的组件正在接收道具/状态。 为什么嵌套组件不接收它们?

我不会在这里粘贴代码,因为我不知道是什么导致了问题。相反,这里是整个 App 的链接:https://github.com/KadoBOT/Box.es

【问题讨论】:

  • 因为你没有connect他们去商店
  • connect 在那里: const App = connect(mapStateToProps, mapDispatchToProps)(process.env.REACT_APP_ENV === 'template' ? TemplatePage : MainPage)

标签: javascript reactjs redux


【解决方案1】:

目前你是connecting 只有MainPage or TemplatePage 组件,取决于条件。但是你不要把道具往下推。您可以通过以下几种方式在子组件中获取它

  1. React.cloneElement

  2. 使用connect > connect(mapStateToProps, mapDispatchToProps)(ChildComponent)

  3. 您可以从MainPage or TemplatePage 组件显式传递它 <ItemView {...this.props}/> ... <ItemSidebar {...this.props}/>

谢谢

【讨论】:

  • 虽然有一种方法可以自动传递它们,而无需在每个子组件上指定或通过连接。谢谢,伙计。
猜你喜欢
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 2023-01-09
  • 1970-01-01
  • 2016-10-17
相关资源
最近更新 更多