[ 前端与 React | 青训营笔记] 2.0
为什么不能用windows对象?
react hooks 给状态管理库的设计带来了哪些新思路?
- 不能使用
window对象的原因是因为在服务器端渲染时,window对象是不存在的,只有在浏览器环境下才有。因此,在 React 组件中使用window对象可能会导致代码在服务器端渲染时出错。 - React Hooks 引入了函数式组件中的状态管理,使得组件状态的管理更加简洁和灵活。同时,它也鼓励开发者将组件拆分为更小的、更易于管理的组件,从而提高代码的可读性和可维护性。此外,React Hooks 还提供了一些其他的钩子函数,如
useEffect和useContext等,使得开发者能够更方便地处理组件的副作用和上下文信息。
状态管理
状态管理工具的本质:管理共享内存中的状态
React Vue Angular 对比
Vue 和 Angular 双向数据绑定,计算属性等,数据是响应式的,控制视图刷新,拥有计算属性等,相比下Vue 和 Angular 使用状态管理的场景减少。 React 的状态管理工具通常更加灵活和扩展性更强
React Local State :组件级别的局部状态
import React, { useState } from 'react';
function HelloWorld() {
const [message, setMessage] = useState('Hello, World!');
function handleClick() {
setMessage('Hello, React!');
}
return (
<div>
<h1>{message}</h1>
<button onClick={handleClick}>Change Message</button>
</div>
);
}
export default HelloWorld;
问题来了,React 的 数据流是自上向下的,大部份情况下Local State 就能满足
如果遇见了...