hustcc / echarts-for-react

⛳️ Apache ECharts components for React wrapper. 一个简单的 Apache echarts 的 React 封装。
https://git.hust.cc/echarts-for-react
MIT License
4.57k stars 632 forks source link

提供一个按需加载的其他解决方案 #86

Closed deot closed 7 years ago

deot commented 7 years ago

因为项目比较多的用到图表,但是有些地方又没又用到,干脆把整个echarts独立开来按需加载,想到 this.echartsInstance拿到值之后才进行一系列操作,思考结合async的使用,可能需要webpack2.x以上

export default class Core extends React.Component {
    // ...
    componentDidMount = async () => {
        this.echartsInstance = await import("echarts");
        // ...
    }

    // update
    componentDidUpdate = async () => {
        this.echartsInstance = await import("echarts");
        // ...
    }
    // ...
}
SidKwok commented 7 years ago

我认为这是一个很好的想法。

但是我觉得 code spliting 这方面应该由用户来完成,用户完全可以用一个wrapper把图标库封装一层,然后动态地import()。假如我们把代码切割封装到了库里面,相当于我们强制了用户使用 webpack,又强制了用户使用 code spliting,这样是相当不友好的。现在 echarts-for-react 提供的 core 功能就能让用户很好地自定义,按照他们的方式来组织包结构,而且这样自由的方式对于后面构建单独的包是很合适的。