全书目录

第四十篇:SolidStart 完全指南 —— 精细反应街区宇宙

第十六章:常见误区 —— 这几条街最容易走错

2 分钟 524 字 第 786 / 962 个阅读单元

#误区 1:把 Solid 当成“更快的 React”

不对。

它不是只是“React 但 benchmark 更高”。 它的状态读取、依赖跟踪、更新路径、异步心智都不同。

#误区 2:忘记 signal 读取要写成函数调用

错误:

tsx
<p>{count}</p>

正确:

tsx
<p>{count()}</p>

#误区 3:把可推导值放进 effect 里同步

错误:

tsx
createEffect(() => {
  setFullName(firstName() + lastName());
});

更好:

tsx
const fullName = createMemo(() => firstName() + lastName());

#误区 4:沿用 React 的“依赖数组焦虑”

Solid 的 createEffect 是自动依赖追踪。 你不需要天天想“这个依赖漏没漏”。

#误区 5:随手解构 props 导致响应式断线

在 Solid 里,props 是响应式的。 某些场景下直接解构会丢掉这种跟踪特性。

不稳妥的直觉写法:

tsx
function UserCard(props) {
  const { name } = props;
  return <p>{name}</p>;
}

更稳妥的心智是:

tsx
function UserCard(props) {
  return <p>{props.name}</p>;
}

#误区 6:所有后端逻辑都改写成 API route

没必要。

如果只是页面自己需要的数据:

  • 优先考虑 query
  • 写数据优先考虑 action
  • 需要对外开放时再上 API route

这是 SolidStart 官方文档特别提醒的问题。 如果 query 里可能 redirect、改 session、改 cookie,要注意 deferStream: true