Yanor.net/
Wiki
Blog
GitHub
Sandbox
開始行:
* useEffectとtry-catchの例外処理 [#sbacfd64]
** try-catchの中でuseEffectを使う [#j84da585]
*** 間違った例 [#uee49385]
const App = () => {
try {
useEffect(() => {
throw new Error('My Error');
});
} catch (e) {
console.log('DEBUG: ' + e.message);
}
return <div>My App</div>;
};
- 上の例ではcatchの中は実行されない
- なぜなら、useEffectの中の処理はコンポーネントがレンダー...
- つまり、Appコンポーネントがマウント(レンダー)されると...
- レンダーされた後に、useEffectの中が実行されて例外がthro...
*** 正しい例 [#p98e1aa8]
const App = () => {
try {
useEffect(() => {
try {
throw new Error('My Error');
} catch (e) {
console.log('DEBUG2: ' + e.message);
}
});
} catch (e) {
console.log('DEBUG: ' + e.message);
}
return <div>My App</div>;
};
- このように書くとuseEffectの中の例外がcatchされて '''DEB...
終了行:
* useEffectとtry-catchの例外処理 [#sbacfd64]
** try-catchの中でuseEffectを使う [#j84da585]
*** 間違った例 [#uee49385]
const App = () => {
try {
useEffect(() => {
throw new Error('My Error');
});
} catch (e) {
console.log('DEBUG: ' + e.message);
}
return <div>My App</div>;
};
- 上の例ではcatchの中は実行されない
- なぜなら、useEffectの中の処理はコンポーネントがレンダー...
- つまり、Appコンポーネントがマウント(レンダー)されると...
- レンダーされた後に、useEffectの中が実行されて例外がthro...
*** 正しい例 [#p98e1aa8]
const App = () => {
try {
useEffect(() => {
try {
throw new Error('My Error');
} catch (e) {
console.log('DEBUG2: ' + e.message);
}
});
} catch (e) {
console.log('DEBUG: ' + e.message);
}
return <div>My App</div>;
};
- このように書くとuseEffectの中の例外がcatchされて '''DEB...
ページ名: