# Reflection: JSX Template Ternary Nesting Syntax Error > Date: 2026-06-05 | Severity: P0 | Recurrence: 1 ## Context Frontend Builder Agent (SF-03) — fallback page 模板中的三元表达式产生了语法错误。模板生成代码如 `{loading ? {} : {
No data
}}`。 ## Root Cause 生成器模板中 JSX 三元表达式嵌套了多余的 `{}`。模板本身输出 `{` 字符,内嵌的 JSX 也带 `{` — 双层花括号导致 React 解析失败。 Incorrect output pattern: `{condition ? {} : {}}` Correct: `{condition ? : }` 或 `{condition ? () : null}` ## Fix Fixed template to not wrap JSX branches in extra `{}`. The outer `{}` (JSX expression) already handles one level; inner JSX elements don't get re-wrapped. ## Pattern Class **Template Code Generation Syntax** — 代码生成器的模板本身使用目标语言语法时,转义/嵌套层次需仔细处理。 ## Future Trigger - Any code generator that outputs JSX/TSX - Any template-based code generation - Any string-template code with nested braces/quotes ## Checklist - [ ] 生成器模板验证:输出后立即 `tsc --noEmit` 检查语法 - [ ] JSX 三元表达式:禁止 `{cond ? {} : {}}` 模式 - [ ] 模板中使用 `\`` 或字符串拼接替代包含反引号的模板字面量 - [ ] Benchmark smoke test 覆盖所有生成项目的 build ## Recurrence Count 1