当前位置: 首页 > 知识库问答 >
问题:

如何在mapStateToProps中引用已连接(容器)组件的道具?

唐健
2023-03-14

我不明白自己的道具在文档中是如何工作的,请帮我澄清以下内容:

>

如果我有3个组件-1。todoList、todo和connectedTodo(=connect(MapStateTrops、mapDispatchToProps、ownProps)(todo),todolist会呈现大量connectedTodo并向其传递道具,这是否意味着todo将有权访问从todolist传递的道具?如果我没有指定ownProps,则todo将无法访问传递给connectedTodo的道具?

每当组件收到新道具时,MapStateToProps将被另外重新调用

这是否意味着,每当todoList传递新道具到ConnectedTodo时,它的mapStateToProps将被调用,此外,每当它订阅的状态发生变化时?

如果我想在mapStateToProps中执行一些html" target="_blank">逻辑,并想引用connectedTodo的道具,我可以使用这个。道具

例子:

const mapStateToProps = function (state) {
  data: state.otherSlice.name === this.props.name ? state.data: null
}

共有1个答案

明正德
2023-03-14

>

  • 即使您不将ownProps指定为参数,Todo也可以访问已传递的道具ownProps适用于第二个问题中描述的情况
  • 如果仅当数据属性与当前组件名称相同时才需要填充数据属性,那么这个小代码修改如何:

    function mapStateToProps(state, ownProps) {
      return { 
        ...ownProps, 
        data: state.otherSlice.name === ownProps.name ? state.data : null 
      }
    }
    

    您提供的文档页面底部还有几个示例。

  •  类似资料:
    • 根据IBM文档:清除策略指定在检测到陈旧连接或致命连接错误时如何清除连接。有效值为EntirePool和FailingConnectionOnly。 问题:服务器如何/何时知道连接已过时?它是否会尽快(立即)清洗池任何连接都会过时,或者按照收获时间发生? 假设收割时间为180秒。假设收割线程上次在下午3:05运行,连接在下午3:06失效,服务器是在下午3:06自己清除池,还是只在下午3:08清除池

    • 问题内容: 我可能缺少一些非常明显的东西,想让自己清楚。 这是我的理解。 在幼稚的react组件中,我们有&。更新时会重新渲染整个组件。大多是只读的,更新它们没有任何意义。 在订阅redux商店的react组件中,通过类似于,它每次商店更新时都会重新渲染。 react- redux 有一个帮助程序,通常通过类似这样的方法来注入状态树的一部分(组件感兴趣)和actionCreators 组件 但是,

    • 最后,在中有一个子组件,名为。这就是问题所在。我还将从获得的项传递到。因此,数据流是(连接)>(未连接)>(连接)。 连接到Redux。它使用redux中的一些操作来更新中的项。当我在中更新时,可以很好地接收更新后的数据,但是却什么都接收不到。中的项从未更新。 我发现问题出在将连接到Redux时。如果没有连接到redux,它也会接收更新的道具,就像一样。 组件如下。我已经试着尽可能地简化它们。 D

    • 我对反应和试图理解如何传递道具很陌生。 首先,我设置了一个Navlink组件,该组件包含子类别属性: ,,都是从json文件中获取的,所以这部分是可以的。 每条路线的定义如下: 所以它呈现一个名为

    • 我试图用PHP、MariaDB和一个教程创建一个PHP开发环境,该教程建议使用Adminer进行数据库管理。因此,我生成了我的文件如下: 但是,当我为MariaDB设置卷时,在管理员登录页面中出现了一个错误。当我没有设置它们时,它似乎工作得很好。

    • 我花了几个小时在谷歌上搜索,但似乎找不到正确的路径/文档来帮助我走上正确的道路:( 前提很简单。 我有一个在localhost:8080上打开的springboot应用程序。我有一个在localhost:15672上打开的rabbitmq服务器 当这两个应用程序都运行时,springboot应用程序将通过一些用户交互向Rabbitmq服务器发送消息。当我对这两个独立的服务进行dockerize(容