v 友们好,是这样,有几个 ant design 组件,要用到老项目里,懒得重新造轮子了,想直接复用 react 里的组件,怎么剥离出来形成一个 jQuery 组件?有类似经历的大佬提供下思路减少咱们底层码农搬砖时间吗?先谢过了。
1
learningman 2021-05-04 17:54:52 +08:00 via Android
你都开始想这种思路了,我告诉你应该怎么办。
弄个 div,这个 div 上挂一个 instance,这个 instance 的全部内容就是你要的那个组件 |
2
Jiajin OP @learningman 开发的时候一定要引入 react js 吗?我意思其实是有没有类似的工具或者库,可以把 react component 转换成 jQuery 的插件,就包含一个 js 文件和一个 css 文件。老项目它都是一个一个页面,来引入的一个一个资源文件的,汗
|
3
learningman 2021-05-04 18:48:34 +08:00
@Jiajin jquery 操作的是真实 dom,react vue 操作的是虚拟 dom,你觉得这玩意儿要做出来多麻烦,用户有多少。。。
|
4
noe132 2021-05-04 18:57:58 +08:00
你这个问题相当于,我有一个发动机是烧油的,能不能用什么工具转换一下,变成用电的?
react 和 jquey 的区别相当于你是烧油还是烧电。重新设计一个发动机用电当然可以,但是你想把原来的发东西转换一下那当然不可能,2 个东西原理都不同。 |
5
iseki 2021-05-04 19:05:08 +08:00
你要就是想糊,不在乎性能和安全性,那也没事,你看 react 和 Vue,都有给 hello world 用的单文件 js 依赖,就是性能会有问题,而且默认应该都是开发模式,代码没有混淆和压缩
|
6
Mutoo 2021-05-04 19:14:36 +08:00
没法剥离,但是要复用、混用是可以的。基本上就是把 React 的组件编译成 umd 模块导出到 window 。然后在 jQuery 的生命周期调用 ReactDOM 直接 render() 到 container 上。需要更新 props 的时候用 ReactDOM.hydrate() 覆盖原 DOM 即可。React 17 把事件代理从 body 移到 container 上了,问题不大。
|
9
Jiajin OP @learningman 开一开前端的倒车,哈哈
|