编辑
2023-01-31
前端
00
编辑
2023-01-29
前端
00

https://zh-hans.reactjs.org/docs/hooks-reference.html

react hooks

本文不涉及 library hooks

基础 Hook

  • useState
  • useEffect
  • useContext

额外的 Hook

  • useReducer
  • useCallback
  • useMemo
  • useRef
  • useImperativeHandle
  • useLayoutEffect
  • useDebugValue
  • useDeferredValue
  • useTransition
  • useId
编辑
2023-01-29
前端
00

操作数组的核心思想

在 JavaScript 中,数组只是另一种对象。与 objects 一样,您应该将处于 React 状态的数组视为 read-only。

这意味着您不应该重新分配数组中的项目,例如arr[0] = 'bird',也不应该使用改变数组的方法,例如push()pop()

相反,每次您想更新一个数组时,您都需要将一个新数组传递给您的状态设置函数。为此,您可以通过调用其非变异方法(如filter()map())从您所在 state 的原始数组创建一个新数组。然后您可以将您的状态设置为生成的新数组。

这里有一个常见数组操作的参考表。在处理 React 状态中的数组时,您需要避免使用左栏中的方法,而更喜欢右栏中的方法:

标题
避免(改变数组)更喜欢(返回一个新数组)
添加push, unshiftconcat,[...arr]传播语法
删除pop, shift, splicefilter, slice
更换splice,arr[i] = ...赋值map
排序reverse, sort首先复制数组

或者,您可以使用 Immer,它允许您使用来自两列的方法。

编辑
2023-01-12
编程技巧
00

背景

Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。

Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置.

为什么要修改默认网段

docker 默认指定的 docker0 的网段 ip,可能会与办公网段冲突

编辑
2023-01-10
前端
00

场景说明

很多时候需要对上传的图片进行信息校验,例如文件大小,图片名称、长宽等属性

文件大小、名称通过 file 对象本身就可以获得到。 图片的长、宽则需要通过读取图片本身获取