
Descubre cómo nuestro nuevo sistema de UI basado en JSX facilita el desarrollo de Snaps con componentes personalizables e interactividad mejorada.

Hemos introducido un sistema de UI basado en JSX estándar en la industria y más fácil de usar, que permite a los desarrolladores crear interfaces de usuario para Snaps con mayor facilidad y personalizar su UI incluso más de lo que era posible anteriormente. Este sistema reemplaza el anterior sistema de componentes basado en funciones, que ofrecía poca flexibilidad. Con esta nueva biblioteca de UI, los desarrolladores pueden crear interfaces con props personalizados e incluso diseñar sus propios componentes de plantilla.
Además, este nuevo sistema incluye componentes de UX que habilitan diversos casos de uso interactivos, como posicionamiento, variantes de botones, menús desplegables y más. Ofrece una mejor experiencia para los desarrolladores al definir estilos en línea, eliminando los inconvenientes que encontrábamos al usar Markdown.
La biblioteca de UI anterior sigue siendo compatible, pero se considera obsoleta. La eliminaremos en algún momento en el futuro. Instamos a los desarrolladores de Snaps a migrar su código de UI al nuevo sistema basado en JSX lo antes posible.
Además de simplificar la creación de interfaces de usuario personalizadas, hemos lanzado dos nuevos componentes JSX interactivos que no tienen equivalentes en el sistema basado en funciones: Dropdown y Field. Estos componentes te permitirán añadir mayor interactividad y mejores experiencias de usuario a tus interfaces personalizadas.
El nuevo componente Box reemplaza al componente panel y añade opciones de posicionamiento y dirección. Esto te permite crear interfaces más ricas que se adapten mejor a tus casos de uso. Markdown ha sido reemplazado por los componentes Bold, Italic y Link, que facilitan el trabajo con texto formateado.
Continuaremos añadiendo nuevos componentes a la API de JSX.
La API de JSX te permite crear tus propios componentes, igual que en React. Puedes importar componentes existentes desde @metamask/snaps-sdk/jsx o componer tus propios componentes personalizados. Aquí tienes un ejemplo sencillo:
A continuación se presenta un resumen de los pasos necesarios para actualizar un proyecto Snap existente a JSX:
Actualiza las dependencias del paquete Snap.
Modifica las reglas de linting para permitir el uso completo de los componentes JSX.
Renombra el archivo fuente del Snap a index.tsx si contiene JSX.
Ajusta la configuración del CLI de Snap para que apunte a index.tsx.
Edita el archivo tsconfig.json del Snap para habilitar JSX.
Estos pasos se detallan en nuestra documentación sobre cómo actualizar un proyecto Snap para usar JSX.
Nuestro monorepo de plantilla para Snaps ya está configurado para que puedas comenzar. Puedes crear un nuevo proyecto Snap desde el monorepo usando el siguiente comando:
yarn create @metamask/snap my-snap-nameEl archivo snap/src/index.tsx ofrece un ejemplo del uso de interfaces de usuario personalizadas con JSX. Puedes importar componentes desde @metamask/snaps-sdk/jsx y utilizarlos para construir tu UI.
Consulta nuestra documentación sobre Custom UI con JSX para conocer todos los componentes y sus props, y explora también este Snap de ejemplo con JSX.
Traducido por IA. Puede contener errores. Por favor, verifique siempre la información.