UNPKG

opencode-agent-kit

Version:

Multi-stack OpenCode agent toolkit — 33+ specialized AI agents, 200+ skills, 46 commands, 8 MCP servers (Nuxt, React, Node.js, Laravel, CI3, Android, Flutter, DevOps, SEO, SonarQube, and more)

47 lines (36 loc) 1.04 kB
--- title: Hoist Static JSX Elements impact: LOW impactDescription: avoids re-creation tags: rendering, jsx, static, optimization --- ## Hoist Static JSX Elements Extract static JSX outside components to avoid re-creation. **Incorrect (recreates element every render):** ```tsx function LoadingSkeleton() { return <div className="animate-pulse h-20 bg-gray-200" /> } function Container() { return ( <div> {loading && <LoadingSkeleton />} </div> ) } ``` **Correct (reuses same element):** ```tsx const loadingSkeleton = ( <div className="animate-pulse h-20 bg-gray-200" /> ) function Container() { return ( <div> {loading && loadingSkeleton} </div> ) } ``` This is especially helpful for large and static SVG nodes, which can be expensive to recreate on every render. **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.