Lo sto vedendo. Non è un mistero di cosa si lamenta:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
Sono l'autore di SomeComponent
e SomeOtherComponent
. Ma quest'ultimo utilizza una dipendenza esterna ( ReactTooltip
da react-tooltip
). Probabilmente non è essenziale che questa sia una dipendenza esterna, ma mi permette di provare l'argomento qui che è "un codice che è fuori dal mio controllo".
Quanto dovrei essere preoccupato per questo avviso, dato che il componente annidato funziona bene (apparentemente)? E come dovrei comunque cambiarlo (a condizione che non voglia reimplementare una dipendenza esterna)? C'è forse un design migliore di cui non sono ancora a conoscenza?
Per completezza, ecco l'implementazione di SomeOtherComponent
. Viene eseguito solo il rendering this.props.value
, e quando si passa con il mouse: una descrizione comando che dice "Some tooltip message":
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>
}
}
Grazie.