react 不支持 ie8 的技术原因是什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
waiaan
V2EX    React

react 不支持 ie8 的技术原因是什么?

  •  
  •   waiaan 2020-06-24 10:13:45 +08:00 5994 次点击
    这是一个创建于 1938 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如 vue2.0 是因为 ie8 以下不支持 defineProperty,react 的原因是什么?

    28 条回复    2020-06-24 22:26:10 +08:00
    bnm965321
        1
    bnm965321  
       2020-06-24 10:18:46 +08:00   16
    because fucking IE
    cheeto
        2
    cheeto  
       2020-06-24 10:23:15 +08:00
    https://www.caniuse.com/#search=ECMAScript%205

    vue 不支持 ie8 的原因其实是因为 defineProperty 仅 ES5 支持,且无法 shim

    react 是可以支持 ie8 的,通过 https://github.com/es-shims/es5-shim
    murmur
        3
    murmur  
       2020-06-24 10:23:47 +08:00
    有非官方 react ie8 解决方案
    VDimos
        4
    VDimos  
       2020-06-24 10:24:24 +08:00 via Android
    不想支持呗,费时费力不说,还会拖累 react 和前端技术的发展,更何况后面 fiber 还用了 requestIdleCallback 这种 API
    Mutoo
        5
    Mutoo  
       2020-06-24 10:37:42 +08:00
    就算 react core 支持,而 react 社区的大部分前端组件不支持也没有意义呀。
    toma77
        6
    toma77  
       2020-06-24 10:45:22 +08:00
    History API?
    mtmzorro
        7
    mtmzorro  
       2020-06-24 10:58:55 +08:00   8
    本来想码字说明技术原因。

    想了想入行这么多年以来从 IE6 开始受过的苦,心里只剩下了和一楼一样的话:because fucking IE 。
    waiaan
        8
    waiaan  
    OP
       2020-06-24 11:03:55 +08:00
    @mtmzorro 就当让鄙人涨涨见识。
    realpg
        9
    realpg  
    PRO
       2020-06-24 11:35:27 +08:00   8
    跟滴滴打车不支持人力三轮车注册成车主差不多吧
    zhuweiyou
        10
    zhuweiyou  
       2020-06-24 11:49:12 +08:00
    别说 IE8 了,IE11 我都不管。
    hst001
        11
    hst001  
       2020-06-24 11:51:38 +08:00
    除了大公司因为用户群过于庞大,真的还有在乎 IE 的吗?
    murmur
        12
    murmur  
       2020-06-24 11:53:52 +08:00
    @hst001 大公司在乎 IE 就够了,小公司都不做桌面市场了
    love
        13
    love  
       2020-06-24 12:06:11 +08:00
    @murmur fb 之类也算大公司吧,基本没一个太乎 ie8
    IAPYANG
        14
    IAPYANG  
       2020-06-24 12:16:22 +08:00 via iPhone
    @love toB 的公司还是得在意,毕竟领导只用 ie8
    rioshikelong121
        15
    rioshikelong121  
       2020-06-24 12:28:58 +08:00
    不支持 ie8 需要理由么。
    icanfork
        16
    icanfork  
       2020-06-24 12:36:45 +08:00
    @IAPYANG #14 我也是 toB 行业,自从有了 360 浏览器之后,领导已经开始用 360 安全浏览器了
    loading
        17
    loading  
       2020-06-24 12:44:03 +08:00 via Android
    @belin520 360 确实拯救了很多人
    weixiangzhe
        18
    weixiangzhe  
       2020-06-24 13:26:53 +08:00
    用啥 ie,微软都不管的东西了,要安全推荐 360.jpg
    coolcoffee
        19
    coolcoffee  
       2020-06-24 13:32:19 +08:00
    react 刚开始是支持的,但是前端公共组件支持不友好。 早期 antd 我也是用过在 IE8 上面的,但是会有各种小毛病。
    aaronlam
        20
    aaronlam  
       2020-06-24 13:37:46 +08:00
    想问下那如果我引入了 polyfill 是不是也可以?
    其实有点改不清楚 polyfill 和 shim 的差别。

    谢谢!
    Torpedo
        21
    Torpedo  
       2020-06-24 14:00:37 +08:00
    react 不支持 ie8 考虑两部分:
    ie8 占有率很小了。目前我了解很多国内大公司的 c 端项目都不再维护 ie8 的代码了,国外更早 ie8 占有率就很低了。

    技术 上来说,react 那套自定义事件系统,处理 ie8 的兼容性问题比较麻烦
    erwin985211
        22
    erwin985211  
       2020-06-24 14:12:52 +08:00
    就算国内很多大厂也不支持 ie8 啦
    beyondex
        23
    beyondex  
       2020-06-24 14:34:38 +08:00 via Android
    政府的项目都不要求必须支持 IE 了,他们的装有谷歌浏览器。XP 虽然无法装最新版,但可以装 Chrome 49
    otakustay
        24
    otakustay  
       2020-06-24 14:49:13 +08:00
    react 理论上是支持的,但官方绝对不会声明支持,也不会针对 ie8 去测试兼容性,挂了就挂了,看天
    joesonw
        25
    joesonw  
       2020-06-24 15:00:15 +08:00
    @VDimos requestIdleCallback 这个本来就不是全平台, 他们自己也 shim 的, 用 requestAnimationFrame, 自己计时.
    MoRun
        26
    MoRun  
       2020-06-24 15:02:13 +08:00
    react 是首先为 Facebook 内部服务的,所以没考虑过支持 ie8
    shiny
        27
    shiny  
       2020-06-24 15:05:10 +08:00
    现在连 PC 端都不那么重视了,何况一个 IE8 。想当年花费的不少青春学习的 IE6 兼容知识,现在都扫进了历史的垃圾堆。
    人生苦短,珍惜青春,面向未来开发。
    Biebe
        28
    Biebe  
       2020-06-24 22:26:10 +08:00 via iPhone
    可以,但没必要
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2517 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 15:31 PVG 23:31 LAX 08:31 JFK 11:31
    Do have faith in what you're doing.
    ubao 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