Bunu görüyorum. Neden şikayet ettiği bir sır değil:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
Ben yazarı olduğum SomeComponent
ve SomeOtherComponent
. Ancak ikincisi harici bir bağımlılık kullanıyor ( ReactTooltip
kimden react-tooltip
). Muhtemelen bunun harici bir bağımlılık olması gerekli değildir, ancak buradaki argümanı "kontrolüm dışında olan bir kod" olarak denememe izin veriyor.
Yuvalanmış bileşenin gayet iyi çalıştığı (görünüşte) göz önüne alındığında, bu uyarı hakkında ne kadar endişelenmeliyim? Ve yine de bunu nasıl değiştirebilirim (harici bir bağımlılığı yeniden uygulamak istemiyorsam)? Henüz farkında olmadığım daha iyi bir tasarım var mı?
Tamlık uğruna, işte uygulaması SomeOtherComponent
. Yalnızca oluşturulur this.props.value
ve üzerine gelindiğinde: "Bazı araç ipucu mesajı" yazan bir araç ipucu:
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>
}
}
Teşekkür ederim.