将 @json-render/react 依赖范围扩大到 react ^18.0.0 || ^19.0.0

作者: taysoh创建于 2026年8月25日更新于 2026年8月25日

`@json-render/react` 包声明了 `peer dependency` 为 `"react": "^19.2.3"`, (每个发布版本从 0.1.0 起都需要 ^19)。审核 0.20.0 的分发包,它只使用 React 18 中存在且稳定的钩子:`useState`、`useEffect`、`useContext`、`useRef`、`useMemo`、`useCallback` 和 `useSyncExternalStore` - 没有 `use()`、`useActionState` 或 `useOptimistic`。我们通过 npm `overrides` 条目在 React 18.3.1 上运行生产级代码,全渲染路径 (defineCatalog → defineRegistry → JSONUIProvider → Renderer,包括 `useStateBinding` 双向绑定、可见性条件和动作调度) 都被我们的测试套件覆盖 - 在 React 18 + jsdom 上全部通过。你是否考虑将 peer 范围扩大为 `"react": "^18.0.0 || ^19.0.0"` (如果适用的话,对 react-dom 也同样)?这样,React 18 客户就可以采用该库,而不需要禁用 npm 的 peer 检查。如果范围变更是可接受的,我很乐意开一个 PR。

内容来源: vercel-labs/json-render