【问题标题】:Passing a component to redux store [closed]将组件传递给 redux 商店 [关闭]
【发布时间】:2020-09-01 15:58:11
【问题描述】:

我正在尝试构建一个具有多个屏幕的应用。这些屏幕中的每一个都可能具有与之关联的唯一侧边栏组件,因此我决定构建一个通用侧边栏 HOC 并将基于屏幕的侧边栏组件传递给此 HOC,但我不知道如何实现这一点。我想也许我可以以某种方式将整个组件传递给 redux 存储,然后 HOC 将能够让该组件在其内部呈现,但我不认为/不知道这是否可能(谷歌搜索“将组件传递给redux store”总是返回“Passing redux store to components”的结果)。如果有人可以在这里指导我,我将不胜感激,我完全迷路了.. 谢谢

【问题讨论】:

  • 你说得对,redux 不存储组件。请在您的问题中添加您正在使用的相关代码。您应该能够从导入它的任何地方调用您的 HOC。

标签: javascript reactjs redux


【解决方案1】:

这就是使用组件的目的:不要重复自己。你不需要redux。如果你这样做:

const App = () => {
  return (
    <>
      <Header />
      <YourViewOrRoutes />
    </>
  )
}

然后您的标题将在您的所有页面中可用。你可以用&lt;Sidebar /&gt; 组件做同样的事情,它可以带一个孩子作为你的屏幕,所以你可以轻松地将它们并排放置。

【讨论】:

  • 问题在于 元素不是静态组件,而是基于应用程序的活动页面, 将与其他一些组件动态注入。
  • 那你为什么不直接处理你店里的情况呢?然后根据这种情况显示或不显示您的侧边栏?这不是一个怪物项目,我认为它会更容易处理
猜你喜欢
  • 2018-02-23
  • 1970-01-01
  • 1970-01-01
  • 2019-10-06
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 2022-10-01
  • 2019-02-18
相关资源
最近更新 更多