React 或者 Vue 里的 UI 框架里的组件,怎么剥离成 jQuery 版?或者说脱离 react 使用。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Jiajin
V2EX    问与答

React 或者 Vue 里的 UI 框架里的组件,怎么剥离成 jQuery 版?或者说脱离 react 使用。

  •  
  •   Jiajin 2021-05-04 17:51:14 +08:00 1814 次点击
    这是一个创建于 1704 天前的主题,其中的信息可能已经有所发展或是发生改变。

    v 友们好,是这样,有几个 ant design 组件,要用到老项目里,懒得重新造轮子了,想直接复用 react 里的组件,怎么剥离出来形成一个 jQuery 组件?有类似经历的大佬提供下思路减少咱们底层码农搬砖时间吗?先谢过了。

    9 条回复    2021-05-04 21:19:03 +08:00
    learningman
        1
    learningman  
       2021-05-04 17:54:52 +08:00 via Android
    你都开始想这种思路了,我告诉你应该怎么办。
    弄个 div,这个 div 上挂一个 instance,这个 instance 的全部内容就是你要的那个组件
    Jiajin
        2
    Jiajin  
    OP
       2021-05-04 18:01:33 +08:00
    @learningman 开发的时候一定要引入 react js 吗?我意思其实是有没有类似的工具或者库,可以把 react component 转换成 jQuery 的插件,就包含一个 js 文件和一个 css 文件。老项目它都是一个一个页面,来引入的一个一个资源文件的,汗
    learningman
        3
    learningman  
       2021-05-04 18:48:34 +08:00
    @Jiajin jquery 操作的是真实 dom,react vue 操作的是虚拟 dom,你觉得这玩意儿要做出来多麻烦,用户有多少。。。
    noe132
        4
    noe132  
       2021-05-04 18:57:58 +08:00
    你这个问题相当于,我有一个发动机是烧油的,能不能用什么工具转换一下,变成用电的?

    react 和 jquey 的区别相当于你是烧油还是烧电。重新设计一个发动机用电当然可以,但是你想把原来的发东西转换一下那当然不可能,2 个东西原理都不同。
    iseki
        5
    iseki  
       2021-05-04 19:05:08 +08:00
    你要就是想糊,不在乎性能和安全性,那也没事,你看 react 和 Vue,都有给 hello world 用的单文件 js 依赖,就是性能会有问题,而且默认应该都是开发模式,代码没有混淆和压缩
    Mutoo
        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 上了,问题不大。
    Jiajin
        7
    Jiajin  
    OP
       2021-05-04 21:05:53 +08:00
    @iseki 哈哈,虽然我想糊弄一下,但是太显眼也不行
    Jiajin
        8
    Jiajin  
    OP
       2021-05-04 21:07:19 +08:00
    @Mutoo 看来只能用 jQuery 重新实现下了,老项目,难顶
    Jiajin
        9
    Jiajin  
    OP
       2021-05-04 21:19:03 +08:00
    @learningman 开一开前端的倒车,哈哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1227 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:08 PVG 01:08 LAX 09:08 JFK 12:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86