gpt4 book ai didi

reactjs - 使用 Enzyme.mount 的基于 的组件的 validateDOMNesting 警告

转载 作者:行者123 更新时间:2023-12-03 13:47:12 34 4
gpt4 key购买 nike

我有一个带有 <tr> 的组件作为基本元素,它渲染得很好。但是当我尝试使用 mount 测试它时,我收到警告:


Warning: validateDOMNesting(...): <tr> cannot appear as a child of <div>.

这是一个复制品:

import React, {Component} from 'react';
import {mount} from 'enzyme';

class Foo extends Component {
render() {
return (
<tr>
<td>moo</td>
</tr>
)
}
}

it('should not fail', () => {
const wrapper = mount(<Foo />);
console.log(wrapper.html());

});

在调用mount时,我可以用 <table><tbody><Foo /></tbody></table> 包装组件使警告消失。但感觉应该有另一种方法来做到这一点,因为 shallow 不会发生此警告。或在应用程序本身中。

这是:

  • react 16.5.2
  • enzyme 3.7.0

最佳答案

修复方法如下

it('should not fail', () => {
const wrapper = mount(<Foo />, {
attachTo: document.createElement('tbody'),
});
console.log(wrapper.html());
});

关于reactjs - 使用 Enzyme.mount 的基于 <tr> 的组件的 validateDOMNesting 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53309566/

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