【发布时间】:2017-06-15 04:15:00
【问题描述】:
我看到了。它在抱怨什么并不神秘:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
我是SomeComponent 和SomeOtherComponent 的作者。但后者使用的是外部依赖(ReactTooltip 来自react-tooltip)。这可能不是必须的,这是一个外部依赖,但它让我可以尝试这里的论点,即它是“一些不受我控制的代码”。
鉴于嵌套组件工作正常(看起来),我应该对这个警告有多担心?无论如何我将如何改变它(假设我不想重新实现外部依赖项)?有没有更好的设计我还不知道?
为了完整起见,这里是SomeOtherComponent 的实现。它只是呈现this.props.value,当悬停时:一个工具提示,上面写着“一些工具提示消息”:
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>
}
}
谢谢。
【问题讨论】:
-
使用没有排版的盒子
标签: javascript reactjs