У меня есть следующий код в пользовательском обработчике реакции, который может вызвать ошибку, основанную на предыдущих данных состояния.
const [data, setData] = useState({});
const handleSomething = () => {
setData((oldData) => {
if (/* some condition based on oldData */) {
throw new Error('Bad');
}
// Other code
return newData;
});
}
Но когда я делаю что-то вроде следующего:
try {
handleSomething()
} catch (err) {
console.log('There was an error');
}
Мой блок catch
не введен, и ошибка все еще возникает. На мой взгляд, кажется, что React поднимает ошибку, а затем выдает ошибку, вместо того, чтобы позволить мне это сделать. Как я мог избежать чего-то подобного?