ExercisesHooks
useExerciseGroup
Access grouped scoring when inside ExerciseGroup
Use useExerciseGroup to access grouped scoring when your component is rendered inside an ExerciseGroup. Used by all exercise types when inside ExerciseGroup — see the Catalogue for the full list.
Returns
| Property | Description |
|---|---|
correct | Number of correct results in the group |
total | Total number of registered exercises |
group | Object with register() and setResult(id, value) to participate in the group |
Usage
Call group.register() when your exercise mounts, and group.setResult(id, value) when validation completes. All exercise hooks integrate with this automatically when ExerciseGroup is present.
Example
import { ExerciseGroup, YesNo, PickOne } from '@bside-tech/tbx-ui/components';
import { useExerciseGroup } from '@bside-tech/tbx-ui/hooks';
function GroupedResults() {
const { correct, total } = useExerciseGroup();
return <p>{correct} / {total} correct</p>;
}
export function Page() {
return (
<ExerciseGroup>
<YesNo entries={[{ text: 'Sky is blue.', answer: true }]} />
<PickOne entries={[{ text: 'Capital of France?', choices: [...], answer: 'paris' }]} />
<GroupedResults />
</ExerciseGroup>
);
}