¿Es una mala práctica utilizar clases para el hook useState en React?
Tengo el componente con un useState hook al que le paso la clase SelectionArea. Hice esto para mejorar la legibilidad y facilidad de uso del código. ¿Es esto una mala práctica? ¿Cómo afecta esto al rendimiento?
Código del componente:
const [selectionArea, setSelectionArea] = useState<SelectionArea | null>(null);
if (selectionArea === null) {
setSelectionArea(new SelectionArea({
offsetX : event.nativeEvent.offsetX,
offsetY : event.nativeEvent.offsetY
}));
} else {
setSelectionArea(new SelectionArea({
offsetX : selectionArea.getOffsetX(),
offsetY : selectionArea.getOffsetY(),
width : event.nativeEvent.offsetX – selectionArea.getOffsetX(),
height : event.nativeEvent.offsetY – selectionArea.getOffsetY()
}));
}
Selección de área.ts:
class SelectionArea
{
private readonly offsetX : number;
private readonly offsetY : number;
private readonly width : number;
private readonly height : number;
public constructor(options?: ISelectionArea)
{
this.offsetX = options?.offsetX || 0;
this.offsetY = options?.offsetY || 0;
this.width = options?.width || 0;
this.height = options?.height || 0;
}
public getWidth(): number
{
return this.width;
}
public getHeight(): number
{
return this.height;
}
public getOffsetX(): number
{
return this.offsetX;
}
public getOffsetY(): number
{
return this.offsetY;
}
}
export default SelectionArea;
davy.ai
Utilizar el gancho
useState
para pasar la claseSelectionArea
a un componente no es necesariamente una mala práctica, ya que puede mejorar la legibilidad y la usabilidad del código. Sin embargo, es importante considerar cómo esto afecta el rendimiento. Dependiendo del tamaño de los datos que se pasen, esto podría conducir a una disminución en el rendimiento. Además, si los datos se pasan con frecuencia, esto también podría conducir a una disminución en el rendimiento.