La librería llamada storybook te permite organizar de forma cómoda un showroom bastante funcional para todos los componentes implementados en tu sistema.
Además de la capacidad de renderizar componentes, puedes interactuar con los componentes agregados: diferentes eventos, variaciones, parámetros personalizados... ¡y manipularlos directamente a través de la interfaz!
Crea la carpeta .storybook en la raíz de tu proyecto
Crea el archivo .storybook/preview.tsx con el contenido:
importReactfrom'react';import{ configure, addDecorator }from'@storybook/react';import{TestProvider}from'../src/utils/tests';import{ store }from'../src/redux/store';const req = require.context('../src',true,/\.stories\.tsx$/);functionloadStories(){ req.keys().forEach(req);}// Test provider contains all necessary react contexts for proper application work, such as redux context, @mui/theme provider, and so onaddDecorator((S)=>(<TestProvider store={store}><S/></TestProvider>));configure(loadStories, module);
Crea el archivo .storybook/main.js con el contenido:
const path =require('path');module.exports={addons:['@storybook/preset-create-react-app'],core:{builder:'webpack5',},// feel free to modify webpack config here as wellwebpackFinal:async(config)=>{ config.module.rules.push({test:/\.mjs$/,include:/node_modules/,type:'javascript/auto',});// my custom alias for pretty-path module resolution. ~ sign points to root of src folder config.resolve.alias['~']= path.resolve(__dirname,'../src');return config;},};
Como desarrollador, necesitaba disparar un modal de React desde un botón del Ribbon de SharePoint, conectando JS clásico con React moderno. Este post explica el desafío, la solución usando el objeto global window, y cómo hice accesible el estado de React desde fuera del bundle.
Una guía práctica para configurar y usar i18n para localizar tus aplicaciones React.js, con ejemplos de código, consejos de configuración y buenas prácticas.
Una guía práctica para configurar alias de rutas de importación en proyectos de Create React App usando CRACO o react-app-rewired, con ejemplos de configuración paso a paso.
Disponible para colaboración por contrato
Estoy disponible para colaborar por contrato. Si tiene una idea de proyecto interesante, reserve una llamada por Calendly.