After months of idle development, Element for React is finally available 🎉!

Store address: eleme/element-react

First of all, I would like to thank the Element team for bringing such a nice and easy to use UI component library to the Vue community. Although there are many mature component libraries in the React community, such as ant. Design, we developed the React version of Element to achieve the same result. We also want to make a small contribution to our beloved React community.

Speaking of similarities, designers often produce a design draft, but the development team may have different strengths, some are good at Vue, some are good at React. Without a common library of UI components, the UI style and interaction would be inconsistent, which prompted our team to develop the React version.

Limited to human and time resources, we reused existing Element resources as much as possible, and UI styles developed for Element by third parties can be seamlessly applied to Vue and React versions. In order to reuse documents, we also developed a React Markdown interpreter to dynamically render Markdown documents with the React-hot-loader. Wysiwyg components can be developed, and the code editor can be expanded in the future to make it easy for users to modify and preview components online. For maintainability of the project, we initially separated prop-types and Component so that any changes to the React API would only affect the base class and could easily extend component properties, such as the style and class commonly used by UI components.


As an open source project, we use ESLint and FlowType to ensure basic code style uniformity and type checking. The functions and state of components were checked by integrating flowType. Initially, flowType was also used for props, but flow was not very convenient for some complex custom types. In the end, dynamic prop-types were used for props to facilitate community participation. Jest based tests are also being refined.

Element-react has released its first version, but there are still some issues. Limited by the usage scenarios, some obscure bugs have not been exposed. We will continue to improve, and we hope you can also participate in making Element React more stable and perfect.

Not Star, but PR