使用传播属性时如何在子组件中获取道具

Posted

技术标签:

【中文标题】使用传播属性时如何在子组件中获取道具【英文标题】:How to get props in child component when using spread attribute 【发布时间】:2019-01-30 05:17:39 【问题描述】:

Containers 是子组件。我在父组件中使用单独的 props 传递给它。

const props = key:_("containerList"),
                containers: this.state.containers,
                containersStats: this.state.containersStats,
                onlyShowRunning: this.state.onlyShowRunning,
                updateContainers: this.updateContainers,
                updateContainerStats: this.updateContainerStats
            
        containerList=
            <Containers
                ...props
            ></Containers>  

现在我想获取子组件Containers中的道具,怎么做? this.props.containers?还是this.props.updateContainers

【问题讨论】:

是吗? this.props.containers 等将返回您传递的道具。 【参考方案1】:

由于您使用的是spread operator。它枚举你所有的道具并将这些道具传递给子组件。因此,在您的 &lt;Containers /&gt; 组件中,您可以像这样访问您的道具:

const  key,
        containers,
        containersStats,
        onlyShowRunning,
        updateContainers,
        updateContainerStats = this.props

如果您需要任何进一步的说明,请告诉我。

【讨论】:

以上是关于使用传播属性时如何在子组件中获取道具的主要内容,如果未能解决你的问题,请参考以下文章

如何在子组件和父组件之间捕获或同步道具值?

如何解决 eslint 错误:自定义路由组件中的“禁止传播道具”?

Typescript + Svelte - 如何添加类型以传播组件道具

如何在Vuejs中将反应性道具传递给孩子

Vue.js - 如何将 prop 作为 json 数组传递并在子组件中正确使用?

如何让 QueryRenderer 传播父道具更改?