UNPKG

@seasketch/geoprocessing

Version:

Geoprocessing and reporting framework for SeaSketch 2.0

22 lines (20 loc) 560 B
import { useState, useCallback } from "react"; import { Checkbox } from "../components/checkbox/types.js"; /** * Hook to maintain checkbox state */ export default function useCheckboxes(defaultState: Checkbox[]) { const [checkboxes, setCheckboxes] = useState<Checkbox[]>(defaultState); const setCheckbox = useCallback( (index, checked) => { const newCheckboxes = [...checkboxes]; newCheckboxes[index].checked = checked; setCheckboxes(newCheckboxes); }, [checkboxes], ); return { setCheckbox, checkboxes, }; }