获得徽章 9
5.23 - hooks 学习3
- 创建 portal 允许在父组件之外渲染子组件。(Portal 提供了一种将子节点渲染到存在于父组件以外的 DOM 节点的优秀的方案)也就是适合脱离文档流的组件。
1. 使用 ReactDOM.createPortal() 和 ReactDOM.unmountComponentAtNode()创建和删除 portal 的功能。并使用 useCallback() 钩子将这些函数包装和记忆为createPortal()。
- 使用useState()带有函数的钩子来懒惰地初始化值。
- useRequestAnimationFrame 动画函数钩子
1. 参数 callback 参数与performance.now()的返回值相同,它表示 requestAnimationFrame() 开始去执行回调函数的时刻。
2. 返回一个 long 整数,请求 ID 是回调列表中唯一的标识,用于取消回调函数。
- 创建 portal 允许在父组件之外渲染子组件。(Portal 提供了一种将子节点渲染到存在于父组件以外的 DOM 节点的优秀的方案)也就是适合脱离文档流的组件。
1. 使用 ReactDOM.createPortal() 和 ReactDOM.unmountComponentAtNode()创建和删除 portal 的功能。并使用 useCallback() 钩子将这些函数包装和记忆为createPortal()。
- 使用useState()带有函数的钩子来懒惰地初始化值。
- useRequestAnimationFrame 动画函数钩子
1. 参数 callback 参数与performance.now()的返回值相同,它表示 requestAnimationFrame() 开始去执行回调函数的时刻。
2. 返回一个 long 整数,请求 ID 是回调列表中唯一的标识,用于取消回调函数。
展开
评论
点赞
5.22 - hooks 学习2
- 启用正文滚动锁定hook。
1. 使用useLayoutEffect()空数组作为第二个参数,仅在安装组件时执行一次提供的回调。
(其函数签名与 useEffect 相同,但它会在所有的 DOM 变更之后同步调用 effect。可以使用它来读取 DOM 布局并同步触发重渲染。在浏览器执行绘制之前,useLayoutEffect 内部的更新计划将被同步刷新。)
2. 使用 Window.getComputedStyle() 获取元素值,目的在于拿到元素实时样式。
(返回的对象是一个实时的 CSSStyleDeclaration 对象,当元素的样式更改时,它会自动更新本身。)
- 客户端在线还是离线
1. 使用Navigator.onLineWeb API 来获取客户端的在线状态。
- 启用正文滚动锁定hook。
1. 使用useLayoutEffect()空数组作为第二个参数,仅在安装组件时执行一次提供的回调。
(其函数签名与 useEffect 相同,但它会在所有的 DOM 变更之后同步调用 effect。可以使用它来读取 DOM 布局并同步触发重渲染。在浏览器执行绘制之前,useLayoutEffect 内部的更新计划将被同步刷新。)
2. 使用 Window.getComputedStyle() 获取元素值,目的在于拿到元素实时样式。
(返回的对象是一个实时的 CSSStyleDeclaration 对象,当元素的样式更改时,它会自动更新本身。)
- 客户端在线还是离线
1. 使用Navigator.onLineWeb API 来获取客户端的在线状态。
展开
评论
点赞
赞了这篇文章
5.20 - hooks 学习1. AbortController 接口表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求,常作用于 Fetch API。
2. 对未知的结果用 try catch 来优化性能。
3. 使用 useReducer() 每次更新时使用创建新对象并返回其调度的钩子。
2. 对未知的结果用 try catch 来优化性能。
3. 使用 useReducer() 每次更新时使用创建新对象并返回其调度的钩子。
评论
1
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章