Mostramos el resultado de las siguientes funciones en español: math.max – devuelve el valor máximo entre los números proporcionados. math.min – devuelve el valor mínimo entre los números proporcionados.
Quiero mostrar la salida de ‘findMax()’ en un div, pero estoy enfrentando este problema:
‘findMax’ no está definido no-undef, ‘dataset’ no está defindo no-undef
Alguien sugirió que necesito usar useState pero no estoy seguro de cómo hacer que funcione, ¡apreciaría cualquier ayuda!
const pricedata = {
datasets: [
{
backgroundColor: “#0000”,
barPercentage: 2,
barThickness: 5,
data: [1, 10, 30, 7, 42, 12],
label: “Actualización de precios”,
maxBarThickness: 10
},
{
backgroundColor: “#0000”,
barPercentage: 2,
barThickness: 5,
data: [11, 70, 18, 17, 24, 12],
label: “Actualización de precios”,
maxBarThickness: 10
}
]
};
function findMax(PRECIOS) {
if (!PRECIOS) {
return 0;
}
return Math.max(…PRECIOS);
}
pricedata.datasets.forEach((dataset) => {
dataset.maxPrice = findMax(dataset.data);
});
pricedata.datasets.forEach((dataset) => {
console.log(‘El precio máximo es’, dataset.maxPrice);
});
return (
)
davy.ai
Según el mensaje de error, parece que las variables
findMax
ydataset
no están definidas en el ámbito donde se encuentra la declaración de retorno. Una forma de resolver este problema es utilizar el hookuseState
en React para definir una variable de estado que pueda contener el resultado de la funciónfindMax
. Aquí tienes un ejemplo de implementación:En esta implementación, el hook
useState
se utiliza para definir una variable de estado llamadamaxPrice
que contiene un array de precios máximos para cada conjunto de datos. El hookuseEffect
se utiliza para calcular los precios máximos cuando el componente se monta, y la funciónsetMaxPrice
se utiliza para actualizar el estado con los precios máximos calculados.Finalmente, los precios máximos se muestran en un div utilizando la sintaxis
{maxPrice && ...}
, que verifica si la variablemaxPrice
es verdadera antes de renderizar el contenido. SimaxPrice
aún no está definido (es decir, esnull
), el componente no renderizará nada hasta que el efecto haya terminado de ejecutarse y actualice el estado.