Excalidraw画板调研-二次开发
最近刚入职一家公司,主管让我研究一下Excalidraw。有一个需求需要用到画板,Excalidraw是开源的,某些功能如果通过传参无法做到,就需要二次开发。
目前遇到几个困难:
1. 如果通过传参来实现,Excalidraw是基于react的,而我们的项目是VUE框架,就无法直接使用基于react的Excalidraw。虽然后面通过尝试使用vuera库,将Excalidraw引入到项目中,画板可以正常展示。普通对象传参还行,但如果props传一个元素,就会出现问题
2. 个人觉得第一种通过传参来实现功能不太理想,那就只能考虑二次开发Excalidraw,开发之后部署到公司的服务器
vue项目使用react组件的方法:
Veaury :Veaury 是一个基于 React 和 Vue3 的工具库,主要用于React和Vue在一个项目中公共使用的场景,主要运用在项目迁移、技术栈融合的开发模式、跨 用第三方组件的场景。 Veaury的特点如下: 1. 同时支持Vue3和React,方便在一个项目中公共使用; 2. 支持同一个应用中出现的vue组件和react组件的context共享; 3. 支持跨 框架 的hooks调用,可以在react组件中使用vue的hooks,也可以在vue组件中使用react的hooks; 4. 可以解决React和Vue在公共使用时的代码重复、冗余的问题。 5. 在一个应用中可以随意使用React或者Vue的第三方组件, 比如 antd, element-ui, vuetify。 6. 提供了详细的官方文档,包括英文版和中文版。
Vuera: Vuera 是一个比较成熟的 JavaScrip 库,但是目前已经不再维护(最近一次更新是三年前)。并且,该库不支持 Vue 3,如果想要支持 Vue 3,可以使 Vueury。
vuereact-combined: vuereact-combined 是一个用于 Vue和React快捷集成的工具包,并且适合复杂的集成场景。通过这个工具,可以在任何的Vue和React项目中使用另一 架的组件,并且解决了复杂的集成问题。 vuera 开辟了Vue和React融合的想法,但是 vuera只能解决非常基础的组件融合,并且存在插槽(children)和数据变更后的渲染性能问题,因此无法用于 景以及生产环境。 vuereact-combined 将融合做到了极致,

浙公网安备 33010602011771号