【问题标题】:Using ramda pipe with react使用带有反应的 ramda 管道
【发布时间】:2020-08-27 19:23:16
【问题描述】:

我有这种与 ramda & react 的组合,其中 a 是一些容器组件,而 x、y 和 z 是 HOC。

export default R.pipe(
    x,
    y,
    z
)(a)

每一个组成部分,

const x,y or z = C => props => <C {...props}/>

如果我想向 y 组件注入几个额外的参数,我该怎么做?

【问题讨论】:

  • 请创建一个更好的例子。目前尚不清楚您要做什么。
  • @OriDrori 编辑了它。让我知道你的想法。

标签: reactjs ramda.js


【解决方案1】:

如果这是静态参数,你可以用另一个函数包裹组件y

const y = extraParams => C => props => <C {...{...props, ...extraParams }}/>

并在编写时调用该函数:

export default R.pipe(
  x,
  y({ param: 20 }),
  z
)(a)

【讨论】:

  • 好的,这是唯一的方法。我也做过同样的事情。这可以通过像 R.curry 这样的东西来完成吗?
  • 你将如何即时传递改变的道具?您可以在它之前的组件中执行此操作,但不能从外部执行。您可以使用 R.curry,但这并不是一个很好的用途。在这种情况下,额外的参数应该始终与组件和道具分开,并且 R.curry 不是经典的咖喱(每个调用中的单个参数)。
猜你喜欢
  • 2019-10-04
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
相关资源
最近更新 更多