问题标签 [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 投票
0 回答
776 浏览

reactjs - 使用 react-google-maps 进行基于文本和基于边界的搜索

我正在使用react-google-maps添加具有搜索功能的地图,该地图显示附近,获取 POI 作为标记并在其下方呈现这些地点的列表(a-la Airbnb)。这个相关问题涵盖了我的大部分目标,但在从自动完成下拉菜单中选择后,我似乎无法SearchBox重新居中地图。

这是我到目前为止所拥有的:

我对 React 还很陌生,但似乎实现这种应用程序的所有其他资源都已过时/不推荐使用。提前致谢!

0 投票
0 回答
46 浏览

reactjs - 在非类型化组件上使用类型化 hoc

我正在逐渐将我当前的反应项目转移到打字稿中。在这样做的时候,我遇到了一些奇怪的情况。

当我MyComponent从键入的代码中导入时,打字稿会检查 Props ofMyComponent并在类型检查时抛出错误someHoc

  1. 为什么他们从 JS 模块检查类型?我认为 tsc 不应该检查 export 的类型component,因为它是写在 JS 上的

  2. 如何在不转换MyComponent为打字稿的情况下抑制此错误?

0 投票
1 回答
490 浏览

reactjs - 重构 HOC 不显示子组件

所以我希望我在这里遗漏了一些简单的东西。

我正在尝试集成 recompose,以便我可以将一些功能性代码从我的渲染(哑)组件中移到我的 HOC 中。

以下 HOC 不会呈现它的子 (MainReduxForm) 组件。我错过了什么?

错误 =

函数作为 React 子级无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。或者,也许您打算调用此函数而不是返回它。

0 投票
1 回答
838 浏览

reactjs - this.props.dispatch() 使用重构生命周期 ({}) 未定义

所以我试图将我的生命周期方法移动到使用 Recompose 的 HOC 装饰器中。像这样的东西...

然后我试图将它添加到呈现我所有标记的表单组件中。像这样。

我不断收到 this.props.dispatch 不是函数的错误...有什么想法吗?我故意保持这个简短以避免文字墙。如果您需要更多信息,请告诉我!

0 投票
1 回答
565 浏览

javascript - React-recompse - 仅初始化一次属性

我是Reactjs初学者,刚刚开始研究Reactjs使用react-recompose模块的现有项目。

我正在尝试声明一个属性并使用withProps. 属性初始化将使用很少的其他现有属性。我将此属性传递给几个子类,这些子类将通过从父类调用处理程序来多次修改此属性。
最后,用户将单击“保存”,并将属性状态发送到服务器。
实际发生的情况是在子类调用修改此属性的父处理程序之后,withProps 有时会在其间调用父处理程序,将属性重新初始化为其初始状态;这导致最近对属性的更改丢失。奇怪的withProps是,每次修改属性时都不会被调用,但有时会出现不可预测的情况。

我想知道如何定义一个属性,该属性被初始化为其他几个属性的产物;并且仅在页面加载时初始化一次。

请在下面找到示例代码。

编辑

在我发布的示例代码中,recentUsers是一个派生自userallUsers声明和初始化的属性withPropsuser并且allUsersredux商店的一部分。
即使其中一个userallUsers属性发生更改,我也不想recentUsers在它被初始化后被重新计算withProps。因为,在初始化之后withProps,我正在更新recentUsers以响应应用程序用户操作,并且它的任何重新计算都会消除所有这些更改。是否可以只初始化一次?
此外,对userorallUsers的更改只是本地的。redux在用户单击“保存”之前,这些更改不会写入存储。在里面withHandlers我正在做类似的事情user.name = 'some name'. 我希望在将这些更改写入redux存储user或更新之前不会导致inallUsers重新初始化。recentUserswithProps

0 投票
0 回答
128 浏览

reactjs - 无法更改 reactjs 中的状态值

我正在使用 react-redux 更新状态值。在我的代码中,我使用的是谷歌地图组件,我想在谷歌地图的“信息窗口”中显示从地理编码器检索到的位置名称。

在上面的代码中,除了在谷歌地图组件的 infowindow 中显示 locname 之外,一切都运行良好。经过大量搜索,我了解到更改 locname 的唯一方法是将其存储在一个状态中。我正在使用 react-redux更改状态值。当我将“demoApp”组件与 redux 存储连接时,我只能在其中调度动作,MyMapComponent 将只接受来自其父级的道具值。当 MyMapComponent 中的地理编码器接收到值时,如何在内部调度动作locname?另一种解决方案是将此 MyMapComponent 写入一个单独的文件,以便我可以与商店连接。但是当我将 MyMapComponent 写入一个单独的文件并将其导入到上面的代码中时,它显示以下错误

0 投票
0 回答
207 浏览

reactjs - 传递 props 生成动态 graphl 查询并等待数据加载

在我的反应组件 + 重构中,我试图根据一些道具动态加载 graphql,但如果我使用 withProps 数据总是未定义的。我不明白如何将 withProps 函数与分支连接以等待数据加载。

我的组件:

在这种情况下,数据总是未定义的。如果我不使用 withProps 查询工作正常(但我不能传递道具以加载不同的查询)。

关于如何在不复制组件的情况下解决此问题的任何想法?谢谢!

0 投票
0 回答
342 浏览

reactjs - recompose 的 withPropsOnChange 用于内部 props 变量

我想知道如何使用withPropsOnChange内部变量?我有一个对象person,其中包含 2 个对象,我只想withPropsOnChange在它们(特别更改)时运行

对于这个对象示例,我withPropsOnChange只希望name和/或被location更改,那么我该怎么做呢?

这是我如何尝试使用它的示例, https ://codepen.io/anon/pen/xWvrLV?editors=1111, 因为您将看到console.logdoe 显示更新(就像子组件将收到道具更改但withPropsOnChange赢了'不抓住它)不知道如何以正确的方式做到这一点。

谢谢

0 投票
1 回答
218 浏览

reactjs - React Recompose 调用增强组件的绑定方法

使用 recompose 是否可以调用增强组件的绑定方法?例如 onClick 在下面的“SomeOtherComponent”示例上

我知道提升静态,但我不知道如何将它用于绑定方法。

0 投票
2 回答
7608 浏览

reactjs - 如何使用 recompose 库中的 HoC 创建 React 的新静态函数 getDerivedStateFromProps 作为生命周期方法?

最近有消息说 React 很快就会被弃用componentWillReceiveProps,取而代之的是新的静态函数getDerivedStateFromProps在这里查看更多

我目前正在将我的应用程序迁移到这个新的 API,但是getDerivedStateFromProps由于我正在使用 recompose 库来处理高阶组件,因此遇到了问题。我们componentWillReceive通过库的生命周期对象来使用道具。

所以在迁移到新的 API 之前,我有这个:

现在已更改为以下内容:

但是,getDerivedStateFromProps需要是静态的,所以我收到了关于这个的警告,不知道如何处理它。

warning.js?7f205b4:33 警告:生命周期(MyComponent):getDerivedStateFromProps() 被定义为实例方法,将被忽略。相反,将其声明为静态方法。

我该怎么做才能将它作为静态生命周期方法传递到我的组件中?