首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为重新绘制组件创建自定义组件

如何为重新绘制组件创建自定义组件
EN

Stack Overflow用户
提问于 2019-05-06 04:15:17
回答 1查看 2.1K关注 0票数 3

假设我正在使用重图表创建条形图,如何为以下每个重图表组件创建自定义组件:

XAxis,YAxis,工具提示,图例,CartesianGrid,单元格和条形图

之所以这样做,是因为我计划创建一个包含大量道具的图表,并希望将上面列表组件中所有默认的道具和自定义的各个组件分开。

我已经尝试过将CartesianGrid放到一个react组件中,网格不会显示。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-22 19:32:32

为了更好地组织代码,您似乎希望将现有的重新图表提供的组件封装在自定义组件中。

当前,重新图表不直接支持这一点,因为它们检查要呈现的元素的类型,如果不匹配允许的类型之一,则不会呈现。

前任:

代码语言:javascript
复制
<LineChart>
    <Line></Line>
</LineChart>

将正确显示一行,但是

代码语言:javascript
复制
function MyLine(props) {
    return <Line></Line>
}

<LineChart>
    <MyLine />
<LineChart>

不会渲染行。

这是因为,重新图表显示不允许使用MyLine组件,因此不会显示。

这是一个大问题,因为它不允许我们重用或组合组件。但是有一些解决办法,其中之一就是直接将自定义组件作为函数调用:

代码语言:javascript
复制
<LineChart>
{
    MyLine({})
}
</LineChart>

似乎也没有计划在未来提供这样的api。它们的github上的所有此类问题都已经关闭,但没有提供解决办法。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55998730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档