首先感谢 Element 团队为 Vue 社区带来了这么精美易用的 UI 组件库,虽然 React 社区也有很多成熟的组件库,比如 ant.design,但是为了能达到「异曲同工」,我们开发了 Element 的 React 版,也想借此向我们热爱的 React 社区做一点微薄的贡献。
说到异曲同工,设计师通常会出一份设计稿,但是负责开发的团队可能各有所长,有的精于 Vue,有的擅长 React。如果没有一套通用的 UI 组件库,就会导致 UI 风格和交互方式的不统一,这就促使我们团队萌发了做 React 版本的念头。
限于人力和时间资源,我们尽可能地重用了现有 Element 的资源,第三方为 Element 开发的 UI 风格都可无缝应用到 Vue 版和 React 版。为了重用文档,我们也开发了一个 React 的 Markdown 解释器,配合 react-hot-loader 来动态渲染 Markdown 文档,可以所见即所得地开发组件,未来也可以拓展为代码编辑器,方便用户在线修改预览组件。为了项目的可维护性,在初期我们把 prop-types 和 component 独立出来,这样可以使得 React API 的任何改动只会影响到基类,而且可以方便地扩展组件的属性,比如 UI 组件常用的 style 和 class。
作为开源项目,我们通过 ESLint 和 flowtype 以保证基本的代码风格统一和类型检查。通过集成 flowtype 来检查组件的函数以及 state,最初 props 也是通过 flowtype 来检查,但一些自定义的复杂类型用 flow 并不是很方便,最终 props 还是采用动态的 prop-types,以便社区参与。基于 Jest 的测试也在逐步完善中。
Element-React 虽然发布了第一版,但是还存在一些问题。 受限于使用场景,一些隐晦的 bug 也未能暴露,我们会持续改进,也希望大家也能参与进来,让 Element React 更加的稳定完善。
不求Star,但求PR
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h63566.shtml