gpt4 book ai didi

javascript - 使用 enzyme full mount 找到的组件实例等于 null

转载 作者:行者123 更新时间:2023-11-28 21:21:03 25 4
gpt4 key购买 nike

我有想要测试的向导组件。

向导组件

class WizardComponent extends React.Component {
render(){
return (
<div>
{this.props.steps.map(({Component, ...props}) => <Component {...props} />)}
</div>
)
}
}

测试

it('Provides props to the component', () => {
const FakeComponent = props => <div>1</div>

const fakeProps = {
test:1,
prop4:'test'
}

const wrapper = mount(<WizardComponent currentStepName="fakeComponent" steps={[
{Component:FakeComponent, name:'fakeComponent'},
]}/>)

const component = wrapper.find(FakeComponent);
console.log(wrapper.contains(<FakeComponent />)) // logs true
console.log(component) // logs ReactWrapper { length: 1 }
console.log(component.instance()) // logs null

expect(component.instance().props).objectContaining(fakeProps)

})

为什么我无法访问组件实例?我想测试它的子组件 props。有人可以帮忙吗?

最佳答案

根据 enyzme documentation ,使用 wrapper.props() 访问组件包装器的 props。

您使用了wrapper.instance().props

关于javascript - 使用 enzyme full mount 找到的组件实例等于 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51612782/

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