
1.8 表单处理
React 里处理表单有两条路——受控表单(state 驱动,适合实时校验与联动)与非受控 / FormData(提交时收集,代码更少);React 19 的 form action 进一步把「提交 + loading + 错误」统一成一套模式。

React 里处理表单有两条路——受控表单(state 驱动,适合实时校验与联动)与非受控 / FormData(提交时收集,代码更少);React 19 的 form action 进一步把「提交 + loading + 错误」统一成一套模式。

条件渲染靠「表达式」(三元、逻辑与、提前 return、映射表),列表渲染靠 map + 稳定唯一的 key;要小心 && 遇到 0 会渲染出 0 的陷阱。

压缩、裁剪、加水印、抠图、拼接都在本地完成。不限张数、不限次数,图片不会传到服务器。

React 自己实现了一套合成事件(SyntheticEvent)系统,事件不绑在元素上而是委托到根容器统一处理;这带来了跨浏览器一致性与性能优势,也带来几个「与原生不一致」的细节(最典型的是 onChange 的行为)。

受控组件的「值」由 React 的 state 掌管(每次输入都要 setState),非受控组件的「值」由 DOM 自己掌管(需要时用 ref 去取);选择标准是「你是否需要实时响应输入」。

State 是组件的私有可变数据,它的更新会触发重新渲染;而更新必须是「替换」而不是「修改」,并且连续更新要用函数式写法才能拿到最新值。

Props 是父组件传给子组件的只读数据,它是「单向数据流」的载体——子组件不能修改 props,只能通过调用父组件传下来的回调来请求变更。

元素(Element)是描述 UI 的不可变对象,组件(Component)是返回元素的函数或类;React 渲染的起点是元素,而组件是复用的单位。

JSX 是 React.createElement()(React 17+ 是 jsx() 运行时)的语法糖,编译后返回一个普通的 JavaScript 对象(React Element);它既不是字符串也不是 HTML,因此有自己的一套约束。
最新评论
读过书不知道欧·亨利的人少。教科书上选文有
这小生活不错呀
不错,必须顶一下!
看着你还在坚持,很好
看来忙了也没时间更新博客了
NIce。学习了。。。。
网站不错!!!!
简洁实用,好文章!