Как изменять массив внутри state c использованием TS?

Помогите, я уже почтив отчаяние. Не могу вкурить как обновить массив внутри стейта. У меня есть массив обьектов, где каждый обьект имеет массив овтетов, которые выбрал пользователь. При нажатии на существующий checkbox, требуется обновлять это состояние, дописываю/удаляя значение в массив соответствующего вопросу объекта

type Result = number
interface Answer {
    result: Result[]
}
const answers: Answer[] = [];

questions.forEach(()=>{ 
    answers.push({ 
        result:[]
    });
})

Здесь ошибка

 const [currentAnswer, setNewAnswer] = useState<Answer[]>(answers)


    const handleChange = (e:React.ChangeEvent<HTMLInputElement>) =>{
        // console.log(typeof(currentAnswer),currentAnswer);
        if(e.target.checked){
            console.log(currentAnswer[currentQuestion].result.push(Number(e.target.id)));
                setNewAnswer(
                    currentAnswer[currentQuestion].result.push(Number(e.target.id) // ERROR HERE
                )
.........

Сама ошибка

const currentAnswer: Answer[]
Argument of type 'number' is not assignable to parameter of type 'SetStateAction<Answer[]>'

Ответы (2 шт):

Автор решения: HTMLProgrammer

Array.push возвращает значение, которое было добавлено в массив. Попробуйте:

currentAnswer[currentQuestion].result.push(Number(e.target.id)
setNewAnswer(currentAnswer);
→ Ссылка
Автор решения: folen

Требовалось создать клон существующего массива, добавить в него новые элементы, а уже потом использовать setState()

let newAnswer = [...currentAnswer];
newAnswer[currentQuestion].result.push(parseInt(e.target.id));
setNewAnswer(newAnswer);
→ Ссылка