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.
'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
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.',
},
],
};