CommunityProgramación y desarrollogithub.com

vuejs-ai/vue-jsx-mejores-prácticas

Sintaxis JSX en Vue (por ejemplo, class vs className, configuración del plugin JSX).

¿Qué es vue-jsx-mejores-prácticas?

Esta habilidad proporciona pautas y mejores prácticas para usar la sintaxis JSX en aplicaciones Vue.js. Es útil para desarrolladores que trabajan con Vue y prefieren JSX en lugar de las plantillas tradicionales, ofreciendo claridad sobre diferencias clave como el uso de `class` en lugar de `className`, y cómo configurar correctamente el plugin JSX necesario. Compatible con Vue 3 y herramientas como Babel o Vite, esta habilidad explica cómo integrar JSX en proyectos Vue, incluyendo reglas de transpilación y ejemplos de componentes. Su objetivo es facilitar la transición entre React y Vue, estandarizar el uso de JSX en el ecosistema Vue, y evitar errores comunes relacionados con atributos de elementos y slots.

Compatible con~Claude Code~Codex CLI~Cursor
Part ofReact
npx skills add https://github.com/vuejs-ai/skills/tree/main/skills/vue-jsx-best-practices

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace vue-jsx-mejores-prácticas?

Sintaxis JSX en Vue (por ejemplo, class vs className, configuración del plugin JSX).

Resumen

Esta guía cubre las mejores prácticas para usar JSX en Vue.js, incluyendo:

  • Diferencias entre class y className
  • Configuración del plugin JSX para Babel
  • Uso de atributos reactivos
  • Manejo de eventos
  • Slots y children

Configuración del Plugin

Para usar JSX en Vue, necesitas instalar y configurar el plugin @vue/babel-plugin-jsx:

npm install @vue/babel-plugin-jsx -D

Luego, agrégalo a tu configuración de Babel:

{
  "plugins": ["@vue/babel-plugin-jsx"]
}

Diferencias Clave

  • class: En Vue JSX, usa class en lugar de className
  • style: Acepta objetos o strings, similar a React
  • Eventos: Usa onClick, onChange, etc. (con mayúscula en la segunda letra)

Ejemplo de Componente

import { defineComponent } from 'vue'

export default defineComponent({
  setup() {
    const count = ref(0)
    return () => (
      <div class="counter">
        <button onClick={() => count.value++}>Incrementar</button>
        <p>Contador: {count.value}</p>
      </div>
    )
  }
})

Slots

Para usar slots en JSX, puedes pasarlos como children:

<MiComponente>
  {{
    default: () => <p>Contenido por defecto</p>,
    header: () => <h2>Encabezado</h2>
  }}
</MiComponente>

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

Skills relacionados