@ carouseldeck/ 反应-18
@carouseldeck/react 18号反应,19号反应 它拥有
相同的组件,道具和类型,来自同源.
在反应18上,安装它代替 @carouseldeck/react 从
@carouseldeck/react-18在反应19上, @carouseldeck/react 保留软件包
仅针对 React 19 的应用程序; 在依赖时安装此程序
需要继续前进。 其出版版本与
@carouseldeck/react从1.2.0.
如何建造它
来源于 packages/react/src 为反应19而写,此软件包
不改变它。 反应19号货船 和以前一样,
大小一样 此软件包的构建( E)vite.config.ts)使来源适应
运行在反应 18,和反应 19:
-
src/react.ts预备react。 。 。 .use读取上下文Provider,上下文在React 19上作为自己的提供者或单独的 一个在反应18,和useLayoutEffect实值useEffect在服务器上,在哪里 反应18警告. 正在开发中,它报告一个反射 超过18 或19个. -
src/jsx-runtime.ts预备react/jsx-runtime。 。 。 .inert作为 反应 18需要它,在反应 19 上留下一个人,它知道它是一个布尔 已经。 甲板的,我们..<style>元素在取景口前转换, 1 每个甲板,因为 既不通过 React 自己的资源来建起它们 API 及其 CSS 设定为 HTML, 因此两个版本的服务器渲染器都没有 逃脱>。 。 。 .消费者的过往
inert到甲板原始应该通过inert={true}(或inert这一点在反应18和19上是正确的. 从不inert="": 反应19inert作为一个布尔道具和一个空的 字符串为 falsy, 因此它去除属性, 不留下元素 惰性,如同@carouseldeck/react。 。 。 . -
源头的每个组件都包裹在
forwardRef(单位:千美元)src/with-ref.ts, (中文(简体) ), 这样ref到达它的元素的方式forwardRef通过它,在两个 各个版本.
软件包没有 react-server 条目: 本建筑不载运 React 19's
服务器组件也一样.
测试
pnpm test:react-18 构建此软件包, 然后按类型检查一个消费者
(单位:千美元)test/consumer.tsx)与回放18's类型. 然后运行回放软件包
在反应 18 上对建筑进行测试vitest.react-18.config.ts 在回购
root),此软件包本身的测试在 test/。 。 。 . pnpm test:react-19 运行
与 React 19 类型相同的类型检查, 然后在 React 上相同的测试
同一建筑的19个vitest.react-19.config.ts)别名改为
反应19 工作空间已有 @carouseldeck/react。测试
特定于一个版本的自有怪异 被排除于另一个版本的运行,由
名称,在其配置.