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 SomeComponentve SomeOtherComponent. Ancak ikincisi harici bir bağımlılık kullanıyor ( ReactTooltipkimden 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.valueve ü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.