React Quiz Component
ExamplesTiming and completion

Quiz timer

Set an overall quiz deadline with pause and resume controls.

Props demonstrated: timer, allowPauseTimer. Every example also supplies the required quiz prop.

Try the quiz

Start the quiz to begin the 60-second countdown. Pause, resume, then answer the questions or let the timer expire.

How it works

The timer starts when the quiz starts. Pausing excludes paused time from the budget. Expiry completes the quiz with the answers collected so far; untouched questions remain unanswered.

Implementation

Install react-quiz-component, then copy this component and the quiz.ts data file into the same directory. Quiz loads its own stylesheet automatically. The preview mounts in the browser; Next.js applications should use a client boundary.

quiz-timer.tsx
'use client';
import Quiz from 'react-quiz-component';
import { quiz } from './quiz';

export default function QuizTimerExample() {
  return <Quiz quiz={quiz} timer={60} allowPauseTimer />;
}

Quiz data

quiz.ts
import type { Quiz } from 'react-quiz-component';

export const quiz: Quiz = {
  quizTitle: 'React essentials',
  quizSynopsis: 'Two questions about React hooks and rendering.',
  questions: [
    {
      question: 'Which hook stores local state?',
      questionType: 'text',
      answerSelectionType: 'single',
      answers: ['useState', 'useEffect', 'useRef'],
      correctAnswer: '1',
      point: 10,
      messageForCorrectAnswer: 'Correct! useState stores component state.',
      messageForIncorrectAnswer: 'useState is the hook for local state.',
      explanation: 'useState returns the current value and a setter.',
    },
    {
      question: 'Which APIs render React content? Pick two.',
      questionType: 'text',
      answerSelectionType: 'multiple',
      answers: ['createRoot', 'renderToString', 'querySelector'],
      correctAnswer: [1, 2],
      point: 20,
      explanation:
        'createRoot renders in the browser; renderToString renders HTML on the server.',
    },
  ],
};

On this page