为什么我选择[email protected]

最近在学习React Client Side Render,需要使用React18。为什么是React18呢,因为React19中引入了大量的Server Side Render的部分,我觉得Server Side Render也会是未来React的主流,但是虽然Server Side Render可能未来成为主流,但是还是有很多功能必须通过client side render实现,比如登录状态,主题偏好的持久化这些功能,所以对于React开发者来说,Client Side Render是必备的技能。

关于Client Side Rendering,Code with Mosh给了一个很好的instructions,如果有实力可以直接购买他的课程(我买了一个月,之后没实力就没买了),如果囊中羞涩可以去B站免费看或者在咸鱼上购买他课程,咸鱼的链接就不给了一搜就有。

Mosh教程中使用的是create vite 4.1.0版本,这个版本有两个out-of-box的功能,很好用,而且我发现这两个功能在create-vite 4.2.0后的版本中没有了(或者需要配置,我没仔细研究过):

node_modules中的文件自动补齐

这里我想引入bootstrap中的某个文件,[email protected]之前的版本支持自动补齐,之后的版本如[email protected]就不支持了,像这样:

我在bootstrap后输入/没有任何的补齐提示。

implicit index.ts导入

比如在scr/utils/index.t有这段代码:

typescript 复制代码
function printHello() {
  console.log('hello')
}

export default printHello

[email protected]之前的版本,支持在自动导入的时候不用包含index.ts,之后的版本就变成explicit的了。 比如,在main.ts文件中我要import这个printHello:

自动导入implicit的importindex.ts中的变量,很酷的功能。而在[email protected]中,自动导入就会加上这个index.ts,像这样:

可以看到,这里的自动补齐把index.ts文件名加上了。

总结

上面这两个功能,我很喜欢,加上我要写React18,所以如果你也要写React18的项目,使用[email protected]创建项目是不错的选择,可以使用下面的命令:

bash 复制代码
pnpm create [email protected] --template react-ts
相关推荐
Dontla21 分钟前
为什么React列表项需要key?(React key)(稳定的唯一标识key有助于React虚拟DOM优化重绘大型列表)
javascript·react.js·ecmascript
EndingCoder1 小时前
React从基础入门到高级实战:React 实战项目 - 项目三:实时聊天应用
前端·react.js·架构·前端框架
德育处主任Pro3 小时前
『React』Fragment的用法及简写形式
前端·javascript·react.js
前端小趴菜056 小时前
React - 组件通信
前端·react.js·前端框架
HarderCoder7 小时前
学习React的一些知识
react.js
小满zs7 小时前
Zustand 第二章(状态处理)
前端·react.js
工呈士11 小时前
MobX与响应式编程实践
前端·react.js·面试
木木夕酱11 小时前
前端响应式网站编写套路
css·react.js
小李小李不讲道理12 小时前
「Ant Design 组件库探索」二:Button组件
前端·react.js·ant design
溪饱鱼15 小时前
React源码阅读-fiber核心构建原理
前端·javascript·react.js