双连接组件中的侦听器顺序

马塞尔卡

让我们有两个connect用其他一些高阶组件组成的react-redux

export default compose(
  connect((state) => {
    console.log('In outer connect')
    return state
  }),
  requireAuthState(isLoggedIn, '/'),
  connect(
    (state) => {
      console.log('In inner connect')
      return state
    },
    (dispatch, props) => ({
      ...
    })
  ),
)(Profile)

我注意到,如果state更改,则首先调用与内部连接相关的侦听器。在这种情况下,控制台日志将为:

In inner connect
In outer connect

这是错误还是功能,或者不应该对react-redux处理已连接组件的重新渲染的顺序承担任何责任?

在这种特殊情况下,这给我带来了麻烦。requireAuthState组织有时(取决于应用程序的状态)不会呈现其子。但是,内部连接无论如何都会尝试重新渲染,这将导致错误。

标记物

是的,这是v4之前React-Redux的一个已知问题。包装器组件的订阅componentDidMount是自下而上触发的,因此子组件很有可能可以在其父组件之前进行订阅。

即将发布的React-Redux v5(有望很快发布)通过强制执行自上而下的订阅来解决此问题,这也有助于提高性能。有关更多详细信息和发行说明请参见React-Redux PR#416

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript侦听器的执行顺序

来自分类Dev

侦听器的代码执行顺序

来自分类Dev

XMLHttpRequest事件侦听器的执行顺序

来自分类Dev

修改核心侦听器的顺序

来自分类Dev

从Vaadin事件侦听器更新组件

来自分类Dev

PHP中的侦听器

来自分类Dev

动作侦听器中的动作侦听器错误

来自分类Dev

从侦听器列表中删除侦听器

来自分类Dev

我可以定义原则中事件侦听器/订阅者的调用顺序吗?

来自分类Dev

Web片段和web.xml中Servlet侦听器的执行顺序

来自分类Dev

JSF中具有单个命令组件的多个动作侦听器

来自分类Dev

如何在Java中为多个组件添加多个侦听器

来自分类Dev

在打字稿中为亮元素组件添加事件侦听器

来自分类Dev

如何在声明性组件中创建onChange事件侦听器?

来自分类Dev

如何在Ext JS的日历组件中添加侦听器?

来自分类Dev

如何在Java中为多个组件添加多个侦听器

来自分类Dev

我如何在Android中构建一个好的组件(Dagger)侦听器?

来自分类Dev

如何在 Vue 组件中的每个列表项上附加事件侦听器?

来自分类Dev

如何将参数从组件传递到 React 中的事件侦听器?

来自分类Dev

DocuSign自定义连接-如何在php示例中创建侦听器?

来自分类Dev

在明确删除之前,SingleValueEvent 侦听器是否计入 Firebase RealTime DB 中的“同时连接”?

来自分类Dev

如何使用jQuery DataTables顺序侦听器

来自分类Dev

onSharedPreferenceChange侦听器->在片段中

来自分类Dev

GUI中的Matlab缩放侦听器

来自分类Dev

Java中Redis的侦听器

来自分类Dev

Java中Redis的侦听器

来自分类Dev

asynctask onPostExecute中的Onclick侦听器

来自分类Dev

xml中的按钮单击侦听器

来自分类Dev

Java中的动作侦听器等待

Related 相关文章

热门标签

归档