我看到了 它抱怨的不是什么谜:
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
,并且在悬停时:提示“某些工具提示消息”的工具提示:
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>
}
}
谢谢。
我遇到了类似的问题,将组件包装在“ div”而不是“ p”中,错误消失了。