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

create-react-app 如何锁定 react 版本为 17 ?

  •  
  •   liuzhaowei55 ·
    ysbjlzlx · 2022-04-10 20:27:00 +08:00 · 3961 次点击
    这是一个创建于 960 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前是 18 ,很多库还不支持。

    第 1 条附言  ·  2022-04-10 23:01:42 +08:00
    谢谢大家的回复,问题我描述的有点模糊了,是这样的,我自己写了一个 cra template 使用的 mobx 等很多库都还不支持 react 18 ,但是通过 npx create-react-app my-app - template typescript 安装的时候默认自动使用了最新的 react 18 ,现在是希望可以在 template 中指定 react 的版本,已经在 facebook 库中提了 issue ,也看到了相关的问题,但官方都没有回复
    第 2 条附言  ·  2022-04-11 09:12:15 +08:00
    感谢 #7 大哥提供的解决方案,在 template.json 中添加 resolutions 确实可以解决 mobx 的依赖问题,再次感谢
    15 条回复    2022-04-11 12:08:20 +08:00
    rain0002009
        1
    rain0002009  
       2022-04-10 20:35:13 +08:00
    正经人谁用 create-react-app 啊 我们都用 vite 的
    FrankFang128
        2
    FrankFang128  
       2022-04-10 20:36:08 +08:00
    正经人谁用 create-react-app 啊 我们都用 vite 的
    linzhipeng
        3
    linzhipeng  
       2022-04-10 20:36:34 +08:00
    看 index.tsx 里面用的还是 ReactDOM.render ,说明用的还是 legacy 模式。如果开启 18 的新特性应该是 createRoot.render
    linzhipeng
        4
    linzhipeng  
       2022-04-10 20:37:23 +08:00
    所以继续使用是没啥问题的
    kinghly
        5
    kinghly  
       2022-04-10 22:03:17 +08:00 via Android
    安装低版本的就好
    liuzhaowei55
        6
    liuzhaowei55  
    OP
       2022-04-10 23:02:43 +08:00 via iPhone
    @linzhipeng mobx 的版本依赖校验过不了,每次都只能强制安装
    seki
        7
    seki  
       2022-04-10 23:18:05 +08:00   ❤️ 1
    mobx 怎么做版本检验过不了的? peer dependency 只是警告吧

    react 18 和 17 在兼容性上基本没什么大的变化,一般不会用不了

    如果一定要 17 ,可以用 yarn 的 resolustions ,npm 目前没有这么方便的方式
    AsZr
        8
    AsZr  
       2022-04-10 23:32:25 +08:00
    不看好 issue 提这个官方会解决
    新版本出来肯定是推新版本,各种第三包也要被裹挟地做升级
    另外 cra 挺难用的,都是自己搭
    pengtdyd
        9
    pengtdyd  
       2022-04-10 23:59:35 +08:00
    写代码应该逢山过山,遇水趟水,库不支持,一个字:直接重写它!
    alanhe421
        10
    alanhe421  
       2022-04-11 10:08:52 +08:00
    create-react-app 这个 CLI 肯定有版本,搞到之前的版本不就行了吗。
    ragnaroks
        11
    ragnaroks  
       2022-04-11 10:16:44 +08:00
    我刚接触 react 的时候就觉得 CRA 不习惯,之间用了 nextjs ,挺好用的除了开发者喜欢无视 issue
    zhuweiyou
        12
    zhuweiyou  
       2022-04-11 11:07:53 +08:00
    正经人谁用 create-react-app 啊 我们都用 vite 的
    liuzhaowei55
        13
    liuzhaowei55  
    OP
       2022-04-11 11:54:15 +08:00 via iPhone
    @18519017871 尝试了上个版本 4.0.3 提示已经有了新版本,这个版本不再支持
    liuzhaowei55
        14
    liuzhaowei55  
    OP
       2022-04-11 12:00:44 +08:00 via iPhone
    @rain0002009
    @FrankFang128
    @zhuweiyou
    所以老哥们使用 vite 而不是 webpack 的理由是啥?除了编译速度这个优点,代码量上去以后其实也不算快,反而要解决一些依赖的问题
    FrankFang128
        15
    FrankFang128  
       2022-04-11 12:08:20 +08:00
    @liuzhaowei55 webpack 的代码量上去之后,那叫一个慢。忍不了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5759 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.