V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
waiaan
V2EX  ›  React

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

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

    比如 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  
       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 需要理由么。
    belin520
        16
    belin520  
       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   ·   实用小工具   ·   2812 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:08 · PVG 15:08 · LAX 23:08 · JFK 02:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.