gpt4 book ai didi

reactjs - enzyme 实例()返回 null

转载 作者:行者123 更新时间:2023-12-04 10:27:45 24 4
gpt4 key购买 nike

我有以下测试:

describe('Form', () => {
let store;
let wrapper;

beforeEach(() => {
store = mockStore(mockData);
wrapper = mount(
<Provider store={store}>
<Form />
</Provider>
);
});

it('handleForm calls uses validate() for validation', () => {
const instance = wrapper.instance();
const submitFormButton = wrapper.find('.submitFormButton');
submitFormButton.simulate('click');
console.log(instance); // null
});
});

知道我在做什么错吗?

我知道Enzyme有这个东西:

NOTE: With React 16 and above, instance() returns null for stateless functional components.



但是我的功能组件确实有一个状态,我正在使用钩子(Hook)(如果它改变了任何东西)并且应该有一些方法可以访问 instance.componentMethod()还是,对吧?

最佳答案

NOTE: With React 16 and above, instance() returns null for stateless functional components.



stateless component它们实际上是指功能组件。 instance()方法是为基于类的组件保留的。

所以你可以将它用于这个组件:

class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}

但不适用于这个:

function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}

关于reactjs - enzyme 实例()返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60561427/

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