TBX Docs
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

PropertyDescription
correctNumber of correct results in the group
totalTotal number of registered exercises
groupObject 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>
  );
}

On this page