javascript - 如何开玩笑地打印已安装组件的子元素?
问题描述
我希望能够打印 wrapper.find('some selector') 的结果
我正在安装一个反应组件
wrapper = mount(
<SomeReactComponent />
);
而且我可以使用 console.log(wrapper.debug()) 打印包装器的全部内容,但我想知道是否有某种方法可以打印特定结果。我尝试了 console.log(wrapper.find('some selector').debug()) 但没有打印。
如何打印包装器中呈现的 html 的更具体部分?
解决方案
由于您使用的是mount
方法,我猜您正在使用酶进行渲染。
在这种情况下,您可以使用find
具有一个参数选择器的简单方法。该选择器是常规查询选择器。
const wrapper = mount(<MyComponent />);
console.log(wrapper.find('.my-component').at(0).html())
注意:如果您有更多组件,my-component
它将返回元素数组,因此需要它.at(0)
来选择一个项目。
html()
将打印出纯 html 代码。
API参考: https ://enzymejs.github.io/enzyme/docs/api/ReactWrapper/find.html
推荐阅读
- javascript - 未捕获的 SyntaxError:使用 JSON.stringify() 的意外标识符
- linux - Ansible 得到错误运行命令,如果我手动输入它没有错误
- typescript - 在一个简单的 Firebase 函数中将循环结构转换为 JSON
- google-cloud-platform - 没有名为 torch.distributed 的模块
- css - Creating a new string literal type based on another
- java - com.google.firebase.database.DatabaseException:无法将 java.lang.String 类型的对象转换为 com.pasarkaget.fajar.pasarkaget.Model.Payments 类型
- c# - 值元组从 WebAPI 公开错误的参数名称
- java - Overriding spring @Configuration in an integration test
- javascript - I can alert the value but can not return as a value from the function
- javascript - 为什么我的正则表达式不能与 Validators.pattern 一起使用?