我不明白以下两行如何不同
shallowRenderedComponent = shallow(<SomeComponent />)
shallowRenderedComponentInstance = shallowRenderedComponent.instance()
酶文档非常模糊,我在互联网上找不到任何比较。
预先感谢
shallow
返回包含所有方法的包装对象,该对象在其文档中定义了所有方法(例如find
,setProps
,etc)
instance
直接访问您的React组件的实例化对象。也就是说,实例上可用的方法是您在应用程序代码中为该类编写的方法。
作为一个例子,如果您的React组件看起来如下,则您的shallowRenderedComponentInstance
将使您访问handleClick
class Example extends React.Component {
handleClick = () {
console.log("I was clicked");
};
render() {
return (
<pre>Hello, World!</pre>
);
}
}