第四章练习答案
主题和语言属于低风险偏好,读取失败时使用默认值;账号资料、权限和令牌不依赖 localStorage 作为可信来源。登出时清理本地草稿、缓存键和跨标签同步状态,并让服务端重新验证身份。
哪些状态可以保存
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
先决定谁拥有状态
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
只接受仍然有效的结果
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
缓存不是全局真相
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。