渐进式编程课
React 目录
第 12 课2026.09.15

把受控输入提交为新课程,同时保持状态更新可预测。

第 12 课:不可变追加数组状态

  • 日期:2026-09-15
  • 课程序号:第 12 课
  • 知识点:展开语法与数组状态更新

用途

把受控输入提交为新课程,同时保持状态更新可预测。

核心概念

React 状态中的数组视为只读;追加时创建新数组而不调用 push 修改旧数组。

最小代码或操作示例

jsx
const [lessons, setLessons] = useState([]);

function addLesson(title) {
  setLessons(items => [...items, { id: crypto.randomUUID(), title }]);
}

3~5 分钟练习

增加空标题检查。

参考答案

if (!title.trim()) return;

与上一课的联系

继承上一课的受控 title;本课只把它不可变追加到数组;下一课可实现按 id 删除。

时效校验

时效校验:2026-09-15(React 19.2 当前官方文档)。已打开并核对下列官方文档;示例未使用已废弃接口。

官方参考