快速结论:这个报错通常出现在 Gradio 6.9.0 的自定义组件(Custom Components)中,当你在 Svelte 模板里用 {#await} 之类的动态渲染块包裹 {@render props.children?.()} 时,控制台会抛出 [Custom Components] Blocked when using dynamic children for rendering 并导致组件无法渲染;优先怀疑是 Gradio 6.9.0 的近期改动叠加 Svelte 模板限制导致,而非你的组件代码本身写错。
适用环境:Issue 中确认的环境为 gradio 6.9.0、gradio_client 2.3.0;正文未给出操作系统、Python、CUDA、显卡等信息,请勿臆测补写。
最快修复方案:暂无确认的一步修复方案。Issue 中维护者明确表示这是已知问题,并建议在修复前暂时回退到 Gradio 6.8.0(同样的代码在 6.8.0 可正常工作)。
注意事项:回退到 6.8.0 只是临时绕过,Issue 明确说明该问题与 Svelte 的限制相关,修复没有 ETA;即使把 {@render props.children?.()} 移出动态渲染块可以渲染,也不代表动态子节点在语义上被正确支持,仍需关注后续 Gradio 版本是否修复。
问题场景
用户在 Gradio 6.9.0 中开发自定义组件,Svelte 组件先在 {#await promise then value} 等动态渲染块内部渲染 {@render props.children?.()},组件渲染被阻断并在控制台输出 [Custom Components] Blocked when using dynamic children for rendering。Issue 指出同一份代码在 Gradio 6.8.0 中可正常工作。触发点与自定义组件的子节点(dynamic children)渲染方式有关,而不是模型、WebUI 或 Python 依赖问题。
报错原文
[Custom Components] Blocked when using dynamic children for rendering
原因分析
最可能的原因是 Gradio 6.9.0 对自定义组件子节点渲染机制做了近期改动,同时受到 Svelte 模板能力的限制。Issue 中维护者的原话是 “this is a known issue due to some recent changes and svelte limitations”,因此动态渲染块(如 {#await})内部的 {@render props.children?.()} 会被拦截,导致组件被阻塞渲染。Issue 只确认了“已知问题 + Svelte 限制”这一层原因,尚未说明具体是哪段实现改动引起,也没有给出修复时间。
环境排查
- 确认 Gradio 版本:Issue 中触发版本为 gradio 6.9.0,正常版本为 gradio 6.8.0。
- 确认 gradio_client 版本:Issue 中为 2.3.0。
- 确认自定义组件的 Svelte 模板结构:
{@render props.children?.()}是否位于{#await}、{#if}、{#each}等动态渲染块内部。 - 确认浏览器控制台是否出现同一条
[Custom Components] Blocked when using dynamic children for rendering错误。 - 操作系统、Python、CUDA、显卡等信息 Issue 未提供,无需作为排查前提。
解决步骤
- 先对照 Issue 中的最小复现结构,确认你的组件确实是在动态渲染块内部渲染
props.children,而不是在动态块外部渲染。 - 如果生产或开发流程不允许等待修复,可优先尝试把 Gradio 回退到 6.8.0;Issue 报告者和维护者均认可这是临时的可行做法。
- 作为代码层面的临时绕过,可优先尝试把
{@render props.children?.()}移出{#await}等动态渲染块(Issue 示例中这样做可以正常渲染),但这会改变动态子节点的渲染时机,需要自行验证组件行为是否符合预期。 - 持续关注 gradio-app/gradio 中该 Issue 的后续进展;Issue 中提到希望将相关修复纳入 Gradio 6 Wrapup milestone,但尚未确认修复时间。
- 不要自行编造环境变量、启动参数或补丁版本号来“解决”该问题,Issue 中没有此类验证过的方案。
验证方法
使用与 Issue 相同的自定义组件 Svelte 代码重新构建并加载组件:如果控制台不再出现 [Custom Components] Blocked when using dynamic children for rendering,且 {#await} 内部的 {@render props.children?.()} 能正常输出子节点内容,说明问题已规避或已修复。若采用回退到 6.8.0 的方式,应确认同一组件在 6.8.0 下渲染正常,再决定是否继续在新版本中排查。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Question]: the page gets stuck during the process of AGENT](https://www.chat-gpts.plus/wp-content/uploads/2026/09/12551-b06097ab-768x403.jpg)
![[Bug]: The "general" method for chunking has encountered an error.](https://www.chat-gpts.plus/wp-content/uploads/2026/09/13641-d7b94dc9-768x403.jpg)