问题标签 [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.
reactjs - 使用 react-google-maps 进行基于文本和基于边界的搜索
我正在使用react-google-maps添加具有搜索功能的地图,该地图显示附近,获取 POI 作为标记并在其下方呈现这些地点的列表(a-la Airbnb)。这个相关问题涵盖了我的大部分目标,但在从自动完成下拉菜单中选择后,我似乎无法SearchBox
重新居中地图。
这是我到目前为止所拥有的:
我对 React 还很陌生,但似乎实现这种应用程序的所有其他资源都已过时/不推荐使用。提前致谢!
reactjs - 在非类型化组件上使用类型化 hoc
我正在逐渐将我当前的反应项目转移到打字稿中。在这样做的时候,我遇到了一些奇怪的情况。
当我MyComponent
从键入的代码中导入时,打字稿会检查 Props ofMyComponent
并在类型检查时抛出错误someHoc
为什么他们从 JS 模块检查类型?我认为 tsc 不应该检查 export 的类型
component
,因为它是写在 JS 上的如何在不转换
MyComponent
为打字稿的情况下抑制此错误?
reactjs - 重构 HOC 不显示子组件
所以我希望我在这里遗漏了一些简单的东西。
我正在尝试集成 recompose,以便我可以将一些功能性代码从我的渲染(哑)组件中移到我的 HOC 中。
以下 HOC 不会呈现它的子 (MainReduxForm) 组件。我错过了什么?
错误 =
函数作为 React 子级无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。或者,也许您打算调用此函数而不是返回它。
reactjs - this.props.dispatch() 使用重构生命周期 ({}) 未定义
所以我试图将我的生命周期方法移动到使用 Recompose 的 HOC 装饰器中。像这样的东西...
然后我试图将它添加到呈现我所有标记的表单组件中。像这样。
我不断收到 this.props.dispatch 不是函数的错误...有什么想法吗?我故意保持这个简短以避免文字墙。如果您需要更多信息,请告诉我!
javascript - React-recompse - 仅初始化一次属性
我是Reactjs
初学者,刚刚开始研究Reactjs
使用react-recompose
模块的现有项目。
我正在尝试声明一个属性并使用withProps
. 属性初始化将使用很少的其他现有属性。我将此属性传递给几个子类,这些子类将通过从父类调用处理程序来多次修改此属性。
最后,用户将单击“保存”,并将属性状态发送到服务器。
实际发生的情况是在子类调用修改此属性的父处理程序之后,withProps
有时会在其间调用父处理程序,将属性重新初始化为其初始状态;这导致最近对属性的更改丢失。奇怪的withProps
是,每次修改属性时都不会被调用,但有时会出现不可预测的情况。
我想知道如何定义一个属性,该属性被初始化为其他几个属性的产物;并且仅在页面加载时初始化一次。
请在下面找到示例代码。
编辑
在我发布的示例代码中,recentUsers
是一个派生自user
并allUsers
声明和初始化的属性withProps
。user
并且allUsers
是redux
商店的一部分。
即使其中一个user
或allUsers
属性发生更改,我也不想recentUsers
在它被初始化后被重新计算withProps
。因为,在初始化之后withProps
,我正在更新recentUsers
以响应应用程序用户操作,并且它的任何重新计算都会消除所有这些更改。是否可以只初始化一次?
此外,对user
orallUsers
的更改只是本地的。redux
在用户单击“保存”之前,这些更改不会写入存储。在里面withHandlers
我正在做类似的事情user.name = 'some name'
. 我希望在将这些更改写入redux
存储user
或更新之前不会导致inallUsers
重新初始化。recentUsers
withProps
reactjs - 无法更改 reactjs 中的状态值
我正在使用 react-redux 更新状态值。在我的代码中,我使用的是谷歌地图组件,我想在谷歌地图的“信息窗口”中显示从地理编码器检索到的位置名称。
在上面的代码中,除了在谷歌地图组件的 infowindow 中显示 locname 之外,一切都运行良好。经过大量搜索,我了解到更改 locname 的唯一方法是将其存储在一个状态中。我正在使用 react-redux更改状态值。当我将“demoApp”组件与 redux 存储连接时,我只能在其中调度动作,MyMapComponent 将只接受来自其父级的道具值。当 MyMapComponent 中的地理编码器接收到值时,如何在内部调度动作locname?另一种解决方案是将此 MyMapComponent 写入一个单独的文件,以便我可以与商店连接。但是当我将 MyMapComponent 写入一个单独的文件并将其导入到上面的代码中时,它显示以下错误
reactjs - 传递 props 生成动态 graphl 查询并等待数据加载
在我的反应组件 + 重构中,我试图根据一些道具动态加载 graphql,但如果我使用 withProps 数据总是未定义的。我不明白如何将 withProps 函数与分支连接以等待数据加载。
我的组件:
在这种情况下,数据总是未定义的。如果我不使用 withProps 查询工作正常(但我不能传递道具以加载不同的查询)。
关于如何在不复制组件的情况下解决此问题的任何想法?谢谢!
reactjs - recompose 的 withPropsOnChange 用于内部 props 变量
我想知道如何使用withPropsOnChange
内部变量?我有一个对象person
,其中包含 2 个对象,我只想withPropsOnChange
在它们(特别更改)时运行
对于这个对象示例,我withPropsOnChange
只希望name
和/或被location
更改,那么我该怎么做呢?
这是我如何尝试使用它的示例,
https ://codepen.io/anon/pen/xWvrLV?editors=1111,
因为您将看到console.log
doe 显示更新(就像子组件将收到道具更改但withPropsOnChange
赢了'不抓住它)不知道如何以正确的方式做到这一点。
谢谢
reactjs - React Recompose 调用增强组件的绑定方法
使用 recompose 是否可以调用增强组件的绑定方法?例如 onClick 在下面的“SomeOtherComponent”示例上
我知道提升静态,但我不知道如何将它用于绑定方法。
reactjs - 如何使用 recompose 库中的 HoC 创建 React 的新静态函数 getDerivedStateFromProps 作为生命周期方法?
最近有消息说 React 很快就会被弃用componentWillReceiveProps
,取而代之的是新的静态函数getDerivedStateFromProps
。在这里查看更多
我目前正在将我的应用程序迁移到这个新的 API,但是getDerivedStateFromProps
由于我正在使用 recompose 库来处理高阶组件,因此遇到了问题。我们componentWillReceive
通过库的生命周期对象来使用道具。
所以在迁移到新的 API 之前,我有这个:
现在已更改为以下内容:
但是,getDerivedStateFromProps
需要是静态的,所以我收到了关于这个的警告,不知道如何处理它。
warning.js?7f205b4:33 警告:生命周期(MyComponent):getDerivedStateFromProps() 被定义为实例方法,将被忽略。相反,将其声明为静态方法。
我该怎么做才能将它作为静态生命周期方法传递到我的组件中?