gpt4 book ai didi

javascript - 如何使用 Enzyme 等待 Mocha 中 React 组件的完整渲染?

转载 作者:数据小太阳 更新时间:2023-10-29 04:17:59 28 4
gpt4 key购买 nike

我有一个 Parent 组件,它呈现一个 Child 组件。 Child 组件首先呈现独特的 Prop ,如“name”,然后 Parent 组件呈现常见的 Prop ,如“type”,并使用 将这些 Prop 注入(inject) Child 组件React.Children.map.

我的问题是 Enzyme 无法检测到 Section 组件呈现的公共(public)属性,因此我无法有效地测试是否添加了公共(public)属性。

测试:

      const wrapper = shallow(
<Parent title="Test Parent">
<div>
<Child
name="FirstChild"
/>
</div>
</Parent>
)
// console.log(wrapper.find(Child).node.props) <- returns only "name" in the object
expect(wrapper.find(Child)).to.have.prop("commonPropOne")
expect(wrapper.find(Child)).to.have.prop("commonPropTwo")
expect(wrapper.find(Child)).to.have.prop("commonPropThree")

注入(inject)常用props的代码:

const Parent = (props) => (
<div
className="group"
title={props.title}
>
{ React.Children.map(props.children, child => applyCommonProps(props, child)) }
</div>
)

最佳答案

您将不得不使用 enzyme 的 mount .

mount 在您需要等待组件渲染子节点时为您提供完整的 DOM 渲染,而不是像 shallow 那样只渲染单个节点。

关于javascript - 如何使用 Enzyme 等待 Mocha 中 React 组件的完整渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37352132/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com