Je vois ça. Ce dont il se plaint n'est pas un mystère:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
Je suis l'auteur de SomeComponentet SomeOtherComponent. Mais ce dernier utilise une dépendance externe ( ReactTooltipde react-tooltip). Il n'est probablement pas essentiel qu'il s'agisse d'une dépendance externe, mais cela me permet d'essayer l'argument ici selon lequel il s'agit d'un "code hors de mon contrôle".
Dans quelle mesure devrais-je m'inquiéter de cet avertissement, étant donné que le composant imbriqué fonctionne très bien (en apparence)? Et comment pourrais-je changer cela de toute façon (à condition que je ne souhaite pas réimplémenter une dépendance externe)? Y a-t-il peut-être un meilleur design que je ne connais pas encore?
Par souci d'exhaustivité, voici l'implémentation de SomeOtherComponent. Il rend juste this.props.value, et lorsqu'il est survolé: une info-bulle qui dit "Un message d'info-bulle":
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>
}
}
Je vous remercie.