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 SomeComponent
et SomeOtherComponent
. Mais ce dernier utilise une dépendance externe ( ReactTooltip
de 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.