发现于 #3903 的浏览器实证(PR #3964),不在该 PR 处理 —— 那一单改的是索引页卡片的 DOM 结构,这一条是目录示例 JSON 的内容问题,与卡片外壳无关。
现象
/docs/guide/schema-catalog 上滚动加载缩略图时,控制台反复刷:
[ObjectUI] The "div" component is deprecated. Please use Shadcn components instead:
- For containers: use "card", "flex", or semantic layout components
- For simple wrappers: use layout components like "container", "stack", or "grid"
See documentation at https://www.objectui.org/docs/components for alternatives.
来源是 packages/components/src/renderers/basic/div.tsx:17-24(DivRenderer 在 NODE_ENV !== 'production' 时每次渲染都 console.warn,没有去重)。
命中面:grep -rl '"type": "div"' examples/schema-catalog/src/schemas | wc -l = 48 个示例(全目录 423 个)。同族的 span 渲染器也带同样的废弃警告,但目录里 "type": "span" 命中 0,所以现在只有 div 这一支。
修 #3903 之后该页 Next dev 指示器仍报 10 个 issue,就是这些警告(嵌套按钮的 2 条已归零:12 → 10)。
为什么归为 observation-class
参考位置
packages/components/src/renderers/basic/div.tsx:17-24(警告来源,无去重)
packages/components/src/renderers/basic/span.tsx(同族警告,目录内暂无命中)
examples/schema-catalog/src/schemas/**(48 个含 "type": "div" 的示例)
关联:#3903 / PR #3964(发现于此)
发现于 #3903 的浏览器实证(PR #3964),不在该 PR 处理 —— 那一单改的是索引页卡片的 DOM 结构,这一条是目录示例 JSON 的内容问题,与卡片外壳无关。
现象
/docs/guide/schema-catalog上滚动加载缩略图时,控制台反复刷:来源是
packages/components/src/renderers/basic/div.tsx:17-24(DivRenderer在NODE_ENV !== 'production'时每次渲染都console.warn,没有去重)。命中面:
grep -rl '"type": "div"' examples/schema-catalog/src/schemas | wc -l= 48 个示例(全目录 423 个)。同族的span渲染器也带同样的废弃警告,但目录里"type": "span"命中 0,所以现在只有div这一支。修 #3903 之后该页 Next dev 指示器仍报 10 个 issue,就是这些警告(嵌套按钮的 2 条已归零:12 → 10)。
为什么归为 observation-class
console.warn,docs 站生产构建里用户看不到;今天没有用户会撞到。DivRenderer的警告没有 per-type 去重,一页 400+ 缩略图会把控制台刷满,把真正的报错埋掉(apps/site: Schema Catalog 索引页把每个缩略图包在button里,85 个含 button 节点的示例都触发 React 嵌套按钮 hydration 报错 #3903 的两条嵌套按钮报错就是在这堆噪声里被捞出来的)。是否要给废弃警告加 once 语义,是与「换掉 48 个示例」不同的一个决定,留给分诊。参考位置
packages/components/src/renderers/basic/div.tsx:17-24(警告来源,无去重)packages/components/src/renderers/basic/span.tsx(同族警告,目录内暂无命中)examples/schema-catalog/src/schemas/**(48 个含"type": "div"的示例)关联:#3903 / PR #3964(发现于此)