Skip to main content

useDesignEngine

The useDesignEngine hook is used to get the DesignEngine provided by the DesignEngine context. Since useDesignEngine throws an error if there is no DesignEngine provided, you can use it in your components without having to check if the value exists first. This is useful if your design experience assumes a DesignEngine always exists.

import { DesignEngineProvider, useDesignEngine } from '@design-stack-ct/design-engine-react-components'

export function CustomDesignPanels() {
const designEngine = useDesignEngine();

return (
{designEngine.panels.map((panel) => /* Some custom component consuming panels */)}
);
}

export function CustomDesignExperience() {
const [designEngine, setDesignEngine] = useState(() => new DesignEngine(...));

return (
<DesignEngineProvider designEngine={designEngine}>
<CustomDesignPanels />
</DesignEngineProvider>
);
}