diff --git a/web/components/answers/multiple-choice-answers.tsx b/web/components/answers/multiple-choice-answers.tsx index e1b5f1a6..4a5e660d 100644 --- a/web/components/answers/multiple-choice-answers.tsx +++ b/web/components/answers/multiple-choice-answers.tsx @@ -7,20 +7,19 @@ import { Col } from '../layout/col' import { Row } from '../layout/row' export function MultipleChoiceAnswers(props: { + answers: string[] setAnswers: (answers: string[]) => void }) { - const [answers, setInternalAnswers] = useState(['', '', '']) + const { answers, setAnswers } = props const setAnswer = (i: number, answer: string) => { const newAnswers = setElement(answers, i, answer) - setInternalAnswers(newAnswers) - props.setAnswers(newAnswers) + setAnswers(newAnswers) } const removeAnswer = (i: number) => { const newAnswers = answers.slice(0, i).concat(answers.slice(i + 1)) - setInternalAnswers(newAnswers) - props.setAnswers(newAnswers) + setAnswers(newAnswers) } const addAnswer = () => setAnswer(answers.length, '') diff --git a/web/pages/create.tsx b/web/pages/create.tsx index 5f87fea1..3225fb4d 100644 --- a/web/pages/create.tsx +++ b/web/pages/create.tsx @@ -120,7 +120,8 @@ export function NewContract(props: { const [isLogScale, setIsLogScale] = useState(!!params?.isLogScale) const [initialValueString, setInitialValueString] = useState(initValue) - const [answers, setAnswers] = useState([]) // for multiple choice + // for multiple choice, init to 3 empty answers + const [answers, setAnswers] = useState(['', '', '']) useEffect(() => { if (groupId) @@ -285,7 +286,7 @@ export function NewContract(props: { {outcomeType === 'MULTIPLE_CHOICE' && ( - + )} {outcomeType === 'PSEUDO_NUMERIC' && (