Saya melihat ini. Bukan misteri apa yang dikeluhkan:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
Saya penulis SomeComponent
dan SomeOtherComponent
. Tetapi yang terakhir menggunakan ketergantungan eksternal ( ReactTooltip
dari react-tooltip
). Mungkin tidak penting bahwa ini adalah ketergantungan eksternal, tetapi ini memungkinkan saya mencoba argumen di sini bahwa ini adalah "beberapa kode yang di luar kendali saya".
Seberapa khawatirnya saya tentang peringatan ini, mengingat komponen bersarang berfungsi dengan baik (tampaknya)? Dan bagaimana saya akan mengubah ini (asalkan saya tidak ingin menerapkan kembali ketergantungan eksternal)? Apakah mungkin ada desain yang lebih baik yang belum saya sadari?
Demi kelengkapan, berikut implementasinya SomeOtherComponent
. Ini hanya merender this.props.value
, dan saat diarahkan: keterangan alat yang mengatakan "Beberapa pesan keterangan alat":
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>
}
}
Terima kasih.