Tôi đang thấy điều này. Nó không phải là một bí ẩn những gì nó đang phàn nàn:
Warning: validateDOMnesting(...): <div> cannot appear as a descendant of <p>. See ... SomeComponent > p > ... > SomeOtherComponent > ReactTooltip > div.
Tôi là tác giả của SomeComponent
và SomeOtherComponent
. Nhưng sau này là sử dụng một phụ thuộc bên ngoài ( ReactTooltip
từ react-tooltip
). Có lẽ không cần thiết rằng đây là một phụ thuộc bên ngoài, nhưng nó cho phép tôi thử lập luận ở đây rằng đó là "một số mã ngoài tầm kiểm soát của tôi".
Tôi nên lo lắng đến mức nào về cảnh báo này, vì thành phần lồng nhau đang hoạt động tốt (dường như)? Và tôi sẽ làm cách nào để thay đổi điều này (miễn là tôi không muốn triển khai lại một phần phụ thuộc bên ngoài)? Có thể có một thiết kế tốt hơn mà tôi chưa biết không?
Vì lợi ích hoàn chỉnh, đây là cách thực hiện SomeOtherComponent
. Nó chỉ hiển thị this.props.value
và khi được di chuột qua: một chú giải công cụ cho biết "Một số thông báo chú giải công cụ":
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>
}
}
Cảm ơn bạn.