Remove redundant state updates in QuizRunner
This commit is contained in:
@@ -198,8 +198,8 @@ function ExplanationPanel({ question, targets }: { question: QuizQuestionWithEnt
|
|||||||
export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoStart }: QuizRunnerProps) {
|
export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoStart }: QuizRunnerProps) {
|
||||||
const [entries, setEntries] = useState<EntrySummary[]>([]);
|
const [entries, setEntries] = useState<EntrySummary[]>([]);
|
||||||
const [loadingEntries, setLoadingEntries] = useState(true);
|
const [loadingEntries, setLoadingEntries] = useState(true);
|
||||||
const [mode, setMode] = useState<Mode>(defaultMode);
|
const [mode] = useState<Mode>(defaultMode);
|
||||||
const [selectedIds, setSelectedIds] = useState<string[]>(defaultEntryId ? [defaultEntryId] : []);
|
const [selectedIds] = useState<string[]>(defaultEntryId ? [defaultEntryId] : []);
|
||||||
const [questions, setQuestions] = useState<QuizQuestionWithEntry[]>([]);
|
const [questions, setQuestions] = useState<QuizQuestionWithEntry[]>([]);
|
||||||
const [status, setStatus] = useState<'setup' | 'loading' | 'running' | 'finished'>('setup');
|
const [status, setStatus] = useState<'setup' | 'loading' | 'running' | 'finished'>('setup');
|
||||||
const [currentIndex, setCurrentIndex] = useState(0);
|
const [currentIndex, setCurrentIndex] = useState(0);
|
||||||
@@ -218,14 +218,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (defaultEntryId) {
|
if (autoStart && entries.length > 0) {
|
||||||
setMode('single');
|
|
||||||
setSelectedIds([defaultEntryId]);
|
|
||||||
}
|
|
||||||
}, [defaultEntryId]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (autoStart && defaultEntryId && entries.length > 0) {
|
|
||||||
startQuiz();
|
startQuiz();
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
|||||||
Reference in New Issue
Block a user