fix(frontend): resolve all eslint errors to zero (B1)

This commit is contained in:
2026-09-15 11:39:21 +08:00
parent 29167d3cea
commit a427aa1c4a
9 changed files with 56 additions and 9 deletions
+8 -1
View File
@@ -28,10 +28,17 @@ export default function PdfReader({ book, initialLocator, initialPercent }: Read
const [err, setErr] = useState("");
const [nonce, setNonce] = useState(0); // 仅加载重试
const [redraw, setRedraw] = useState(0); // 仅 resize 重绘(不重新下载文档)
// 重新加载(换书/重试)时先清错误:React 官方推荐的「渲染期按下发 key 重置本地 state」,
// 替代原先 effect 内的同步 setState(级联渲染);首挂载 key 相等,重置为空操作,行为等价
const loadKey = (book.file_url ?? "") + "#" + nonce;
const [prevLoadKey, setPrevLoadKey] = useState(loadKey);
if (prevLoadKey !== loadKey) {
setPrevLoadKey(loadKey);
setErr("");
}
useEffect(() => {
let dead = false;
setErr("");
(async () => {
const buf = await apiRaw(book.file_url ?? "").then((r) => r.arrayBuffer());
if (dead) return;