我看到了这个。它在抱怨什么并不神秘:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
我是SomeComponent
和SomeOtherComponent
的作者。但后者使用了外部依赖项(ReactTooltip
from react-tooltip
)。这可能并不一定是一个外部依赖,但它让我尝试在这里讨论它是“一些超出我控制的代码”。
鉴于嵌套组件工作正常(看起来),我应该对这个警告有多担心呢?无论如何,我该如何改变它(如果我不想重新实现一个外部依赖)?有没有我还不知道的更好的设计?
为了完整起见,下面是SomeOtherComponent
的实现。它只是渲染this.props.value
,当悬停时:一个写着“Some tooltip message”的工具提示:
class SomeOtherComponent extends React.Component {
constructor(props) {
super(props)
}
render() {
const {value, ...rest} = this.props;
return <span className="some-other-component">
<a href="#" data-tip="Some tooltip message" {...rest}>{value}</a>
<ReactTooltip />
</span>
}
}
谢谢你!