create-react-app 如何锁定 react 版本为 17 ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuzhaowei55
V2EX    React

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

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

    目前是 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     Solana     5609 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:13 PVG 11:13 LAX 19:13 JFK 22:13
    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