import React, { useContext, useEffect, useMemo } from "react";
import { SelectCaseContext } from "./SelectCase";
/**
* Componente que permite crear un case dentro de un switch
* @name Reactor.Components.Templates.Case
* @param {string} value Valor que se espera para mostrar su contenido
* @class
* @example
<switch variable="tipo" context="un_contexto">
<case value="alerta">...</case>
<case value="mensaje">...</case>
<case value="info">...</case>
<default>...</default>
</switch>
*/
export const Case = ({value, children}) => {
const selectCaseState = useContext(SelectCaseContext);
const match = useMemo(() => selectCaseState?.value?.toString() === value?.toString(), [selectCaseState?.value, value]);
useEffect(()=>{
if(match){
selectCaseState.updateMatch();
}
}, [match]);
return <>
{match && children}
</>;
}