Lynx Markdown
这篇指南迁移 Lynx 官方的 <markdown> 原生元件。基础展示只需将 content 改为 text;原来的样式、事件和原生选择能力需要分别适配。
使用 Agent 协助
把下面的内容发送给能访问项目代码的 Agent:
替换元件
在已有 ReactLynx 项目中安装:
迁移前,沿用项目中已有的 <markdown> 类型声明和原生注册:
迁移后:
Fluxdown 使用 view、text 等 Lynx 元素渲染,包内 JSX 交给项目的 @lynx-js/react-rsbuild-plugin 编译,导入时会加载样式。外层 scroll-view 或消息列表继续保留,见快速开始。
调整样式与流式输出
原来的 markdown-style 不能直接传入。内容样式改用 theme.tokens,外层尺寸和留白继续使用 style:
例如,markdown-style.normalText.fontSize 对应正文的字号设置;Fluxdown 的尺寸使用带单位的字符串。标题、代码和段落间距按主题中的对应分组调整。
text 始终是累积全文,请求完成、取消或出错后将 pending 设为 false。这与 content-complete 的状态方向相反。animation-type、animation-velocity 和 markdown-effect 不直接复用;平滑输出和末尾效果见流式内容。
接回交互与自定义内容
将原元件的事件接到 Slot 插件,继续调用应用自己的桥接方法:
Fluxdown 不会自动识别 inlineview:// 并查找子 View;相关内容需要显式迁移。<span>、<p> 的专用样式和图片尺寸扩展也要用实际内容检查。
原元件的 text-selection、text-maxline、选区菜单以及 getSelectedText 等原生方法没有一一对应的顶层属性。依赖这些能力的页面,先补齐适配或保留原元件;FluxdownRef 提供渲染结果,不是原生元件引用。确认所有页面都不再使用后,再清理 Markdown 专用的宿主注册和依赖。