私はこれを見ています。それが不平を言っているのは謎ではありません:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
私は著者のだSomeComponent
とSomeOtherComponent
。ただし、後者は外部依存関係(ReactTooltip
からreact-tooltip
)を使用しています。これが外部の依存関係である必要はないかもしれませんが、「自分の制御不能なコード」であるという議論をここで試すことができます。
ネストされたコンポーネントが(一見)正常に動作している場合、この警告についてどの程度心配する必要がありますか?とにかくこれを変更するにはどうすればよいですか(外部依存関係を再実装したくない場合)?私がまだ気付いていないより良いデザインがあるかもしれませんか?
完全を期すために、ここにの実装を示しSomeOtherComponent
ます。レンダリングするだけでthis.props.value
、ホバーすると、「一部のツールチップメッセージ」と表示されるツールチップ:
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>
}
}
ありがとうございました。