问题标签 [recompose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3055 浏览

javascript - 用酶测试 recompose 的 HOC

如何测试(使用jest+ enzyme)以下recompose用于创建 HoC 的代码:

在执行浅渲染时,我可以访问countersetCounter属性,如下所示:

最大的问题是,我如何访问处理程序(incrementdecrementreset并调用它们?他们没有出现在wrapper.props()

0 投票
1 回答
203 浏览

reactjs - 如何导出增强组件?

我有一个包含多个组件的公共文件夹和一个如下所示的 index.js 文件:

我这样做是为了可以像这样导入它们:

在每个(无状态)组件中,我都像这样导出组件:

我现在正在创建一个增强的新组件:

但是现在我不知道如何导出它,以便我可以在 index.js 中像其他组件一样使用它。我试过这个:

但它给了我一个语法错误:

我也试过这个:

但是当我尝试在另一个组件中引用它时,它给了我一个错误:

如何以类似于导出其他组件的方式导出此组件?

0 投票
3 回答
5326 浏览

javascript - 如何在 Recompose 中使用 withHandlers 将 refs 添加到功能组件并在 ScrollView 上调用 ScrollTo?

我的具体目标是使用 ScrollView 的ScrollTo 方法,但保持功能组件结构。

更一般地说,这需要获取当前组件的 ref,而裸 react native 是不可能的

2016 年 12 月,recompose添加了Allows handlers 属性 withHandlers 成为工厂函数,但我不太清楚如何正确使用它。

如何在 Recompose 中使用 withHandlers 将 refs 添加到功能组件并在 ScrollView 上调用 ScrollTo?

0 投票
1 回答
3050 浏览

reactjs - 使用 recompose() 进行异步的示例?

我有以下完全可以工作的代码,尽管其中一部分(_FetchJSON)是 recompose 之外的自定义 HOC

(现场演示@https ://codepen.io/dakom/pen/zdpPWV?editors=0010

我怎样才能改变它_FetchJson也可以在重组中工作?最有帮助(不仅对我 - 而是供参考)将是两个解决方案:

  1. lifecycle()
  2. mapPropsStream()

注意:我确实尝试了生命周期()方式但没有奏效:

0 投票
1 回答
1930 浏览

reactjs - withState 与 withStateHandlers

文档@ https://github.com/acdlite/recompose/blob/master/docs/API.md#withstate说这个关于withState

您可能希望将此状态更新程序与 withHandlers() 一起使用来创建特定的更新程序函数。

然后它有一个单独的功能withStateHandlers(),虽然形式略有不同,但看起来很相似。

就实际使用而言,为什么要使用一个而不是另一个,它们有何不同?

0 投票
1 回答
167 浏览

reactjs - props 使用 compose() 以哪种方式流动?

考虑以下:

在这种情况下,道具会foo流过LoadJson->RunParser->Bar吗?还是以相反的顺序,从哪里foo流过RunParser->LoadJson->Bar

有没有更好的方法来从概念上设想这一点,而不是像那样的线性流动?

0 投票
1 回答
2623 浏览

reactjs - 如何在 recompose 的 `withPropsOnChange` HOC 中使用状态?

我想用来根据传入的道具withPropsOnChange创建一个新的去抖动函数。如果道具被更改,它应该创建一个新函数。withPropsOnChange似乎很适合这个,除了我需要访问回调this.state内部createProps,而 recompose 不提供。

有哪些替代方案?即如何创建一个属性(React 或 vanilla),它取决于/依赖于其他一些属性,并在这些属性更新时自动更新?


这是我现在所掌握的要点:

如您所见,我正在定义一个名为的属性this.loadOptions,它只是props.options带有一些状态处理的去抖动副本。

这目前可以正常工作,但如果上游修改props.optionsor props.delay,则this.loadOptions 不会更新,因为我只在构造函数中执行此操作。

现在我可以在 中再次执行所有这些操作componentWillUpdate,但实际上我只想在更新props.optionsprops.delay更新时这样做,因为这是它仅有的两个依赖项。

我只是在寻找一种更简洁的设计模式来处理这类事情。现在我考虑它基本上只是“计算的属性”(但我不能根据需要“重新计算”它——除非修改了这些属性,否则我每次都需要返回相同的实例)。

0 投票
1 回答
1990 浏览

javascript - 重构 - mapProps 和 withProps 不更新道具

我有一个容器,我想管理名册排序顺序、方向和性别过滤器。我已经尝试了这两种方法withProps,并且mapProps在下面的当前withProps代码中,名册在 内部正确更新withProps,但它不会覆盖 Wrestlers 组件中的现有名册

0 投票
2 回答
95 浏览

javascript - react-create-app/flow-type 无法正常工作

当我编写功能组件并将道具类型描述为流时,它无法识别。下面的示例应该引发错误,因为props.some它不是字符串,它实际上是一个数字。

在其他情况下,这种(e: string) => e; e(42); // => Error流类型可以正常工作。

我的 .flowconfig 仅在流初始化之后。

0 投票
1 回答
1086 浏览

reactjs - 如何测试 withHandlers、branch 和 withState 中的处理程序与酶重组?

我是酶测试的新手,我制作了一个组件:

在上面的组件中,我想测试以下内容:

  1. 的渲染Component

  2. inEditMode组件的功能

  3. 处理程序存在于withStatewithHandlers

  4. branchrecompose 的实用程序(我真的不认为我需要检查这个,因为他们可能已经但假设我想测试这样的功能)

我可以在 stackoverflow 上找到一些关于测试的文档,但没有一种资源可以提供总体思路。