Componentes React - Guía Rápida
Layout y Presentación
ImagenCompleta
Imagen de ancho completo con leyenda opcional.
import ImagenCompleta from '@site/src/components/ImagenCompleta';
<ImagenCompleta
src={useBaseUrl('/img/foto.svg')}
alt="Descripción"
leyenda="Texto de la leyenda"
anchoMax="1200px" // opcional, default 1200px
/>
LadoALado
Texto al lado de imagen, responsive (apila en móvil).
import LadoALado from '@site/src/components/LadoALado';
<LadoALado
src={useBaseUrl('/img/foto.jpg')}
alt="Descripción"
width="300px"
lado="derecha" // o "izquierda"
leyenda="Pie de imagen" // opcional
>
Contenido de texto, listas, ecuaciones...
</LadoALado>
MasInfo
Sección colapsable con estilo personalizable.
import MasInfo from '@site/src/components/MasInfo';
<MasInfo
titulo="Más información" // default
color="#66bb6a" // verde, default
alto="12px" // padding, default
desplegado={false} // false default, true para abierto
>
Contenido: texto, ecuaciones, imágenes, otros componentes...
</MasInfo>
CollapsibleReferenceSection
Lista de referencias que cambia de tamaño al hacer clic.
import CollapsibleReferenceSection from '@site/src/components/CollapsibleReferenceSection';
<CollapsibleReferenceSection
title="Referencias principales"
items={[
"Autor, A. (2020). Título del artículo...",
"Autor, B. (2021). Otro artículo..."
]}
/>
ClickableImage
Imagen que abre versión ampliada al hacer clic.
import ClickableImage from '@site/src/components/ClickableImage';
<ClickableImage
src={useBaseUrl('/img/foto.jpg')}
alt="Descripción"
/>
Video
Incrusta videos de YouTube con responsive automático.
import Video from '@site/src/components/Video';
<Video
id="AfsW5lLxOgw"
titulo="Flat panel en laboratorio" // opcional
/>
// Con opciones adicionales
<Video
id="POP4Fk947T0"
titulo="Thin-layer en invernadero"
ancho="80%" // opcional, default 100%
inicio={30} // opcional, empieza en segundo 30
/>
Nota: El id es la parte final de la URL de YouTube después de watch?v= o youtu.be/
Interactivos Educativos
PreguntaQuiz
Quiz de opción múltiple básico con feedback.
import PreguntaQuiz from '@site/src/components/PreguntaQuiz';
<PreguntaQuiz
pregunta="¿Cuál es la ecuación de Beer-Lambert?"
opciones={[
"I = I₀ · e^(-k·C·x)",
"I = I₀ · k · C · x",
"I = I₀ / (k·C·x)"
]}
correcta={0} // índice de la respuesta correcta
>
**Explicación:** La ley describe... (se muestra solo si acierta)
</PreguntaQuiz>
PreguntaQuizSarcastico
Quiz de opción múltiple con mensajes sarcásticos progresivos.
import PreguntaQuizSarcastico from '@site/src/components/PreguntaQuizSarcastico';
<PreguntaQuizSarcastico
pregunta="¿Cuál es el valor de μmax?"
opciones={[
"0.045 h⁻¹",
"0.038 h⁻¹",
"0.052 h⁻¹",
"0.041 h⁻¹"
]}
correcta={0}
>
**Explicación:** μmax se calcula...
</PreguntaQuizSarcastico>
Comportamiento:
- Intentos 1-2: Mensajes suaves y alentadores
- Intentos 3-5: Mensajes sarcásticos
- Intentos 6+: Mensajes brutalmente honestos
- Se bloquea al acertar
PreguntaQuizNumerico
Quiz numérico con opciones aleatorizadas y tolerancia de error.
import PreguntaQuizNumerico from '@site/src/components/PreguntaQuizNumerico';
**Pregunta:** ¿Cuánto vale $\Psi_{CO_2/b}$ cuando la fuente de N es nitrato?
<PreguntaQuizNumerico
respuestaCorrecta={1.88}
cifrasSignificativas={3}
tolerancia={0.02} // ±2% por defecto
>
**Explicación:** El coeficiente estequiométrico es...
$$
\Psi_{CO_2/b} = 1.88 \text{ mol CO}_2 / \text{C-mol biomasa}
$$
</PreguntaQuizNumerico>
Características:
- Genera 4 opciones (1 correcta + 3 incorrectas aleatorias)
- Al fallar: regenera y baraja opciones (10 seg delay)
- Mensajes sarcásticos escalados
- Bloqueo al acertar
- Pregunta con LaTeX fuera del componente
Calculadoras
PhotonEnergyCalculator
Calcula energía de fotones desde longitud de onda.
import PhotonEnergyCalculator from '@site/src/components/PhotonEnergyCalculator';
<PhotonEnergyCalculator />
PhotonFluxCalculator
Calcula flujo fotónico (dos modos: desde energía o desde fotones).
import PhotonFluxCalculator from '@site/src/components/PhotonFluxCalculator';
<PhotonFluxCalculator />
BiomassCompositionCalculator
Calcula composición elemental de biomasa.
import BiomassCompositionCalculator from '@site/src/components/BiomassCompositionCalculator';
<BiomassCompositionCalculator />
StoichiometricCoefficientsCalculator
Calcula coeficientes estequiométricos para reacciones de fotosíntesis.
import StoichiometricCoefficientsCalculator from '@site/src/components/StoichiometricCoefficientsCalculator';
<StoichiometricCoefficientsCalculator />
Notas
- Todos los componentes requieren imports en el archivo .mdx
useBaseUrlnecesario para rutas de imágenes- Componentes pueden anidarse (ej: LadoALado dentro de MasInfo)
- Archivos de versiones antiguas (.v1, .back) son backups, no usar
- PreguntaQuizNumerico: pregunta va fuera para que LaTeX funcione
Imports típicos
import useBaseUrl from '@docusaurus/useBaseUrl';
import ImagenCompleta from '@site/src/components/ImagenCompleta';
import LadoALado from '@site/src/components/LadoALado';
import MasInfo from '@site/src/components/MasInfo';
import PreguntaQuiz from '@site/src/components/PreguntaQuiz';
import PreguntaQuizSarcastico from '@site/src/components/PreguntaQuizSarcastico';
import PreguntaQuizNumerico from '@site/src/components/PreguntaQuizNumerico';