Ich sehe das. Es ist kein Rätsel, worüber es sich beschwert:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
Ich bin der Autor von SomeComponentund SomeOtherComponent. Letzteres verwendet jedoch eine externe Abhängigkeit ( ReactTooltipvon react-tooltip). Es ist wahrscheinlich nicht wesentlich, dass dies eine externe Abhängigkeit ist, aber ich kann hier das Argument versuchen, dass es sich um "einen Code handelt, der außerhalb meiner Kontrolle liegt".
Wie besorgt sollte ich über diese Warnung sein, da die verschachtelte Komponente (scheinbar) einwandfrei funktioniert? Und wie würde ich das überhaupt ändern (vorausgesetzt, ich möchte keine externe Abhängigkeit erneut implementieren)? Gibt es vielleicht ein besseres Design, das mir noch nicht bekannt ist?
Der Vollständigkeit halber ist hier die Implementierung von SomeOtherComponent. Es wird nur gerendert this.props.valueund wenn der Mauszeiger darüber bewegt wird: ein Tooltip mit der Aufschrift "Einige Tooltip-Meldungen":
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>
}
}
Danke dir.