gpt4 book ai didi

reactjs - 不变违规 : React. Children.only 期望收到单个 React 元素子元素

转载 作者:行者123 更新时间:2023-12-03 13:13:14 25 4
gpt4 key购买 nike

我不断遇到不变违规,我真的不知道为什么......这肯定与 OverlayTriggers 有关。当把它们排除在外时,一切正常。

导入:

import Col from 'react-bootstrap/lib/Col';
import Row from 'react-bootstrap/lib/Row';
import Tooltip from 'react-bootstrap/lib/Tooltip';
import OverlayTrigger from 'react-bootstrap/lib/OverlayTrigger';

应该呈现一个带有键/值对的列表项,其中值有一个工具提示:

const renderCustomField = (field,customFields) => {
const tooltip = (<Tooltip id="tooltip">{customFields[field]['sub']}</Tooltip>)
return (
<li>
<OverlayTrigger placement="top" overlay={tooltip}>
{field}
</OverlayTrigger>
</li>
)
}

想要呈现customFields的类:

export default class EventHeaderCustomFields extends Component {
render () {
const customFieldsNames = Object.keys(this.props.customFields);

return (
<Col xs={12}>
<h4><strong>Short overview:</strong></h4>
<ul>
{customFieldsNames.map(
(field) => renderCustomField(field,this.props.customFields)
)}
</ul>
</Col>
)
}
}

EventHeaderCustomFields.propTypes = {
eventData:PropTypes.object
};

最佳答案

OverlayTrigger 需要一个 React 元素子元素,将 {field} 包装在 span 或任何其他有效的 React jsx 元素中将解决此问题。

<li>
<OverlayTrigger placement="top" overlay={tooltip}>
<span>{field}</span>
</OverlayTrigger>
</li>

关于reactjs - 不变违规 : React. Children.only 期望收到单个 React 元素子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45112294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com