当我尝试使用内容渲染 Legend 组件时,出现此错误。
warning.js:36 警告:未知道具verticalAlign
, layout
, align
, iconType
, iconSize
, payload
, chartWidth
, chartHeight
, margin
,onBBoxUpdate
在标签上。
这是获取多个内容的图例代码,
const renderContent = (content, props) => {
if (React.isValidElement(content)) {
return React.cloneElement(content, props);
} else if (_.isFunction(content)) {
return content(props);
}
return React.createElement(DefaultLegendContent, props);
};
这就是为什么,它会收到未知道具警告。因此,如何在子组件中删除这些父道具。
//Legend tag
<Legend verticalAlign="middle" layout="vertical" align="right" iconType="circle" content={this._LegendWithValues()}
//Custom legend content
_LegendWithValues = () => {
return (
<ul className="cui-legend-content">
{
this.props.data.map((entry, index) => (
<li key={`item-${index}` }>
<svg height="20" width="20">
<circle cx="10" cy="10" r="5" strokeWidth="3" fill={this._getColorScheme()[index]}/>
</svg>
<text style={ul_style} >{entry.name}:{entry.unit} {entry.value}</text>
</li>
))
}
</ul>
);
}