initState
The callback arrays can be persisted in a data storage (database, local storage, ...) and inserted to the corresponding initCalculableAccessories
and initNonCalculableAccessories
props when the AccessoryForm component is initialized.
Usage
import {AccessoryForm} from 'kampmann-calcgateway-frontend'
function App() {
const [calcAccessoryCallback, setCalcAccessoryCallback] = useState<RequestAccessory[]>([]);
const [initCalcAccessoriesState] = useState(() => {
if(typeof window === "undefined") return;
const initAccessoriesStateJson = localStorage.getItem("calcAccessoryCallback");
if(initAccessoriesStateJson) {
return JSON.parse(initAccessoriesStateJson);
}
})
useEffect(() => {
if(!calcAccessoryCallback) return;
localStorage.setItem("calcAccessoryCallback", JSON.stringify(calcAccessoryCallback));
}, [calcAccessoryCallback]);
return (
<AccessoryForm
UIControls={data}
callback={setCalcAccessoryCallback}
initCalculableAccessories={initCalcAccessoriesState}
...
/>
);
}