research UI: fix 3 lint errors — async wrapper + escape apostrophe
Push right after ec1ddc6 tripped three eslint errors on the same-commit
lint pass. All three are cosmetic in behavior:
- ResearchList.tsx:48 + ResearchCanvas.tsx:64 — setState was called
synchronously at the top of a useEffect. Wrap the body in an inner
async load() and call setState inside it; effect still returns the
cleanup for the alive-flag guard.
- ResearchWizard.tsx:207 — bare apostrophe in JSX text ("workspace's").
Replace with ' to satisfy react/no-unescaped-entities.
This commit is contained in:
@@ -65,18 +65,19 @@ export function ResearchCanvas({
|
||||
return;
|
||||
}
|
||||
let alive = true;
|
||||
setLoading(true);
|
||||
setError(null);
|
||||
getTopic(selectedId)
|
||||
.then((d) => {
|
||||
const load = async () => {
|
||||
setLoading(true);
|
||||
setError(null);
|
||||
try {
|
||||
const d = await getTopic(selectedId);
|
||||
if (alive) setTopic(d);
|
||||
})
|
||||
.catch((e) => {
|
||||
} catch (e) {
|
||||
if (alive) setError(e instanceof Error ? e.message : "load failed");
|
||||
})
|
||||
.finally(() => {
|
||||
} finally {
|
||||
if (alive) setLoading(false);
|
||||
});
|
||||
}
|
||||
};
|
||||
load();
|
||||
return () => {
|
||||
alive = false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user