Buscando artículos sobre "Javascript"
20-marzo-2022
admin

Url dinámicas con react

Podemos parametrizar las urls en React. Esto nos va a permitir tener url dinámicas en función a unos parametros. Para ver su funcionamiento se muestra un ejemplo:

1 – Definición de parámetros en la url
Dado un route, podemos indicar los parámetros como en el ejemplo :category y :type





Fuente

2 – Utilización de esos parámetros en el componente invocado
La forma de recoger luego esos párametros seria con useParams.

import { useParams } from "react-router-dom"
...
const { category } = useParams()
...

Fuente

12-marzo-2022
admin

Hooks de React: useState y useEffect

Para poder utilizar estos hooks lo primero es importarlos.

import React, { useState, useEffect } from 'react';

– useState: se trata de una función que crea una variable donde se puede almacenar el estado del componente. Acepta un valor inicial para esa variable y devuelve un array con dos elementos, el valor de la variable y la función para modificarla.

const [isLoading, setIsLoading] = useState(false);

– useEffect: se usa para la inicialización o modificación de variables, llamadas a APIs, etc. La llamada a useEffect acepta una función como argumento que se ejecuta por defecto cuando el componente se renderiza por primera vez, y después cada vez que el componente se actualice o cuando se modifique alguno de los argumentos pasados como parámetros (en el ejemplo category y type).

  useEffect(() => {
    const fetchDataTxt = async () => {
      setIsLoading(true);
      try {
        const result = await axios("http://" + window.location.host + "/" + category + "/" + type + "/description.txt");
        setData(result.data);
      }catch(err){
        console.log("error http://" + window.location.host + "/" + category + "/" + type + "/description.txt");
      }
      setIsLoading(false);
    };
    fetchDataTxt();
  }, [category, type]);

Ejemplos

6-marzo-2022
admin

React tips and tricks

– React Developer Tools: Herramienta para depurar el código. Es un plugin que se instala en el navegador: Chrome, Firefox.


– Simple React Snippets: Plugin para el VSCode que te facilita mucho el desarrollo.


– Fragmentos: Es muy común que un componente devuelva múltiples elementos. La forma más cómoda de hacerlo es con los tag <> </>

class Columns extends React.Component {
  render() {
    return (
      <>        
        <td>Hello</td>
        <td>World</td>
      </>
          );
  }
}

– React Bootstrap: Framework de bootstrap adaptado a React. https://react-bootstrap.github.io/

npm install react-bootstrap bootstrap@5.1.3

– Axios: Axios es un cliente HTTP ligero basado en el servicio $http que se puede utilizar con react. Documentación 1 Documentación 2

npm install axios
27-febrero-2022
admin

Enrutado dinámico en React: BrowserRouter vs HashRouter

En react para configurar las rutas tenemos la libreria react-router-dom. Podemos instalar con:

npm install react-router-dom

Esa librería tiene los componentes BrowserRouter y HashRouter. La principal diferencia entre ellos está en que con HashRouter se añade el # a las rutas url. Tal que así:

– HashRouter: https://gallery-react.disastercode.com.es/#/gallery/animales/gatos
En este caso el servidor ignora lo en la url lo que hay despues del #. Y el cliente es el que se encarga de interpretar esa parte de la ruta.

– BrowserRouter: https://gallery-react.disastercode.com.es/gallery/animales/gatos
En este otro caso el servidor intentará manejar la ruta completa. Por eso al recargar la página nos devolverá 404, al ser rutas que no existen en el lado del servidor.

Ejemplo con HashRouter

Fuente

19-febrero-2022
admin

Uso de dangerouslySetInnerHTML en React

Esta función te permite incrustar html directamente con React. Se utiliza en lugar de innerHTML.

const App = () => {
  const data = 'lorem ipsum';
  return (
dangerouslysetinnerhtml={{__html: data}}
  );
}
export default App;

Fuente

13-febrero-2022
admin

Dynamic React Gallery

Aplicación web realizada en React que partiendo de un fichero *.json completa dinámicamente todo su contenido. Generando una galeria de imágenes divididas por categorias.

El código se encuentra subido en el siguiente repositorio:
https://github.com/roberto-pf/DynamicReactGallery

Se ha generado la documentación mediante Compodoc y puede consultarse la documentación aquí:
https://roberto-pf.github.io/DynamicReactGallery/

Demo funcionando en este enlace: http://gallery-react.disastercode.com.es

18-octubre-2020
admin

Recopilación de recursos para desarrollo web. Año 2020. (Parte 1)

Fuentes
Font-Awesome: https://fortawesome.github.io/Font-Awesome/
ionicons: http://ionicons.com/
Glyphicons: http://getbootstrap.com/components/
Weather-icons: https://erikflowers.github.io/weather-icons/
Google Fonts: https://www.google.com/fonts
Blokfont: http://blokkfont.com/

Iconos, letras e imágenes
Real Favicon Generator: http://realfavicongenerator.net/
Iconspedia: http://www.iconspedia.com/
CSSAuthor: http://www.cssauthor.com/free-mockup-templates-psd-designs/#iPhone
Freepik: http://www.freepik.com/
Skitch: https://evernote.com/intl/es/skitch/
ARCTEXT.JS: http://tympanus.net/Development/Arctext/
Shuffle Letters: http://tutorialzine.com/2011/09/shuffle-letters-effect-jquery/
mThumb: https://github.com/mindsharelabs/mthumb

Generadores de código
JSON-Generator: http://www.json-generator.com/
HTML-Compressor: https://htmlcompressor.com/compressor/
CSS3-Generator: http://css3generator.com/
Generador de Color HTML: https://color.hailpixel.com/
Gradient-Editor: http://www.colorzilla.com/gradient-editor/
placehold.it: http://placehold.it/#

Servicios en Linea
Son Parser Online: http://json.parser.online.fr/
Pingdom: http://tools.pingdom.com/fpt/
Codepen.io: http://codepen.io/
Responsinator: http://www.responsinator.com/

Programas y aplicaciones
HTTP-Server: https://www.npmjs.com/package/http-server
Sweet Alert: http://t4t5.github.io/sweetalert/
Bootstrap Modals: http://getbootstrap.com/javascript/#modals
Date Picker: http://amsul.ca/pickadate.js/date/
Chosen: http://harvesthq.github.io/chosen/
Complexify: https://www.danpalmer.me/jquery-complexify/

27-septiembre-2020
admin

Resumen generación de documentación con Compodoc para Angular 10

Compodoc facilita la generación de la documentación de tu proyecto de Angular. A continuación, voy a exponer un resumen de como utilizarlo.

1 – Instalación

npm install -g @compodoc/compodoc

2 – Añadir en package.json el comando que lo ejecuta.

"scripts": {
"compodoc": "npx compodoc -p tsconfig.app.json"      
//En angular 10 tuve que poner tsconfig.base.json para 
//que me generase bien la documentación.
}

3 – Ejecutar la creación de la documentacion

npm run compodoc

————————————————————————

Aunque hay muchas más, como se puede ver en la documentación que facilita la gente de Compodoc. Algunas de las opciones que se puede ir añadiendo al comando de ejecución son:

-d ---------> directorio destino
-o ---------> abre automáticamente la documentación en el navegador
-s ---------> levanta el servidor de node
--theme -----> selecciona el tema
--includes --> documentacion adicional. Se pone el directorio del summary.json. 
Se crean ficheros md. https://docs.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax
-w ---------> detecta los cambios en el código y actualiza la documentación.
--customFavicon -> cambia el favicon.
--hideGenerator -> oculta el logotipo de compodoc.
-y ----------> hoja de estilos propia para compodoc. Se le indica un directorio 
donde haya un style.css.

El comando de generación añadiendo todos esos flags quedaría así:

 "compodoc": "npx compodoc -p tsconfig.base.json -d docs -o -s 
--theme vagrant --includes ./aditionaldoc -w --customFavicon ./src/favicon.ico 
--hideGenerator -y ./src/assets/cssCompodoc"

————————————————————————

Los comentarios deben añadirse así:

- Documentar un método, variable, componente,....
/**
 *
 */

- Documentar parámetro de un método
/**
 * @param variable
 */

- Documentar retorno de un método
/**
 * @returns
 */

- Ignorar en la documentacion para que no salga
/**
 * @ignore
 */

- Ejemplo de uso de un componente u otro objeto.
/**
 * @example
 *
 */

. Se puede comprobar el nivel de comentarios añadidos en la sección de cobertura de código que te genera.

Excluir en el tsconfig.base.json los ficheros que no queremos que se revisen. Así no saldrán en la cobertura.

"exclude": [
"src/test.ts",
"e2e/**"
]

Ejemplo de uso

Fuente

Páginas:123456»

Categorias

Linkedin