himself65

himself65

V2EX 第 470184 号会员,加入于 2020-02-19 16:50:08 +08:00
I’m just a nobody. Please don't be mad because of a stranger on net.
根据 himself65 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
himself65 最近回复了
18 天前
回复了 fx 创建的主题 Node.js adonisjs 有没有现成的注册登录库?
better-auth 是目前 nodejs 里好用的鉴权库

https://www.better-auth.com/
一般规律就是离钱越远的项目(无论开源)代码质量越高
jotai ,我在维护

https://github.com/pmndrs/jotai
既然题主提到了 react 19 (带版本号),想请问用到了 19 哪些功能
虽然喜欢不喜欢 next.js 是个人观点,其次楼上的各种说法其实都有些事实错误。

首先你只需要在顶层的组件中开启 use client ,所有子组件也会判断为 client side component 。你们遇到这个问题绝对是每次创建新 page.tsx 的时候没有写 use client ,当然你也可以说“在每个文件”……

其次我个人觉得“选择任何 UI 框架,Astro 给你自动做静态渲染”这个看起来很牛逼的 propaganda 实际上会出很明显的 edge case ,你无法保证所有你写的组件或者你用的依赖都是面向静态的,我认为这会造成很多未预料的事情……当然写博客这种写一次用一辈子的项目可能并不需要考虑这些事情,但我觉得这个事情本身和 Next.js 默认 server side 本质上没有任何区别。

混合框架会很明显的导致整个客户端包体积显著上升,当然你全写的是静态那是另说,但另外我觉得如果一个项目能混用这么多 web 框架,那这个项目本身其实就有点炫技的成分在里面,哪有真产品一下子什么框架都有。

不过 选择性水合( partial hydration )这个事情我倒是很赞同,我目前在一个 react framework 里面也推进了这个特性,不过我觉得群岛概念这个属于新瓶装旧酒,没什么新奇的,你只不过是本来多套一层组件变成了 props 里的保留关键字。

另外我仔细阅读这个文档的时候发现了一个逻辑错误,https://docs.astro.build/zh-cn/guides/server-islands/#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BE%A4%E5%B2%9B%E7%BB%84%E4%BB%B6
这里头像回退 GenericAvatar 的 slot fallback 虽然没有写放在哪里,但是我假定是 Avatar 的一个 children ,但是问题来了,如果做到不运行 Avatar 里面的请求代码的同时把 GenericAvatar 插进去。
LlamaIndex
> 并指导一二

这里面有很多可以深度挖掘的东西。

如果要深挖 React ,18 、19 出了这么多 API ,简单扫了一下你这里面大多数可以迁移到新的 API 优化一些(比如 useSyncExternalStore 、useTransition……),多读读官网 docs ,很多基本的 pitfall 全在你项目里面出现了一遍( deps 、useEffect……)

状态管理你都没有做,点一下按钮状态都丢了,这些你考虑过吗……

从工程化角度说,你这里面代码风格挺乱的,有时候 style 有时候 css in js ,文件命名……这下下来 eslint 、prettier 你有配吗

从前端角度说,这个项目目前是一个 CSR-only app ,你这个可以有 SSR 你可以尝试,React 出了 RSC 你可以尝试,Streaming UI 你可以做,怎么随便点一下整个屏幕都白了……另外 Vite 有很多自定义的 API 可以自己搭一个 server 玩玩……

随便说几句
只看 React 部分的话,写法有点过时了。
从整个前端质量看的话,属于是没有什么复杂度的 CRUD project ,里面也没有多少比较深的前端技术
2023-11-29 10:58:47 +08:00
回复了 rizon 创建的主题 React react 的严格模式下强制重新渲染引发的问题及解决方案及讨论
同意#15 的观点,你这个 React 用法是有问题的,你需要把 processor 的初始化放在 React 外面。举个例子

```ts
const processor = buildProcessor()
const Component =() => {}
```

如果不能 SSR 那就判断一下 typeof window === "undefined"。
如果是一个异步,包一个 use(promise)

useEffect 是连接外部状态的一个 hook ,那这个东西来初始化整个数据其实是不符合 React 的思路

https://react.dev/reference/react/useEffect#connecting-to-an-external-system

那这个举例,server 是 React UI 之外的已经有的东西,connection 才是 useEffect 去 establish 的事情
2023-10-19 16:46:30 +08:00
回复了 ChrisFreeMan 创建的主题 Node.js Web Components 2023 年 10 月份了,现在怎么样了
可以试试 lit 。
个人感觉大部分库对于 shadow dom 的支持还是很差的,
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2218 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 16:10 · PVG 00:10 · LAX 09:10 · JFK 12:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.