陌上人如玉
公子世无双

01-React基础

1.11 组件 API 设计-陌上寒

1.11 组件 API 设计

一句话:好 API 的标准是「可预测、可组合、可渐进」——落到 React 上就是三件事:受控/非受控双模式(value + defaultValue)、用组合(children/Slots/Context)代替配置炸弹、以及用「多态 + ...

赞(0)陌上寒陌上寒阅读()去评论
1.10 ref 与 DOM 访问-陌上寒

1.10 ref 与 DOM 访问

一句话:ref 是「绕过 React 数据流直接访问 DOM 或保存可变值」的手段;访问 DOM 要用 useRef + ref={ref}(函数组件不能直接接收 ref,需要 forwardRef,React 19 起可以直接接收)。 一...

赞(0)陌上寒陌上寒阅读()去评论
1.9 Fragment / Portal / StrictMode-陌上寒

1.9 Fragment / Portal / StrictMode

一句话:三个「特殊组件」分别解决三类问题——Fragment 解决「需要多个根节点又不想多一层 DOM」、Portal 解决「弹层需要脱离父级容器」、StrictMode 在开发环境暴露潜在的副作用问题。 一、Fragment:不产生额外 ...

赞(0)陌上寒陌上寒阅读()去评论
1.8 表单处理-陌上寒

1.8 表单处理

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

赞(0)陌上寒陌上寒阅读()去评论
1.7 条件渲染与列表渲染-陌上寒

1.7 条件渲染与列表渲染

一句话:条件渲染靠「表达式」(三元、逻辑与、提前 return、映射表),列表渲染靠 map + 稳定唯一的 key;要小心 && 遇到 0 会渲染出 0 的陷阱。 一、条件渲染的五种写法 // ① 三元表达式:二选一 fu...

赞(0)陌上寒陌上寒阅读()去评论
1.6 事件系统-陌上寒

1.6 事件系统

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

赞(0)陌上寒陌上寒阅读()去评论
1.5 受控与非受控组件-陌上寒

1.5 受控与非受控组件

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

赞(0)陌上寒陌上寒阅读()去评论
1.4 State 与 setState-陌上寒

1.4 State 与 setState

一句话:State 是组件的私有可变数据,它的更新会触发重新渲染;而更新必须是「替换」而不是「修改」,并且连续更新要用函数式写法才能拿到最新值。 一、State 是什么 维度 说明 归属 组件私有(父组件无法直接读写,只能通过 props ...

赞(0)陌上寒陌上寒阅读()去评论
1.3 Props-陌上寒

1.3 Props

一句话:Props 是父组件传给子组件的只读数据,它是「单向数据流」的载体——子组件不能修改 props,只能通过调用父组件传下来的回调来请求变更。 一、Props 的本质 // 组件接收 props 就是一个对象 function Use...

赞(0)陌上寒陌上寒阅读()去评论
1.2 元素与组件-陌上寒

1.2 元素与组件

一句话:元素(Element)是描述 UI 的不可变对象,组件(Component)是返回元素的函数或类;React 渲染的起点是元素,而组件是复用的单位。 一、React Element 是什么 // 元素就是一个普通对象(JSX 的产物...

赞(0)陌上寒陌上寒阅读()去评论