繁体   English   中英

在 function 中使用 useEffect()

[英]Using `useEffect()` inside of a function

我在FlyerChat中遇到了以下代码。

import * as React from 'react'

export const usePrevious = <T>(value: T) => {
  const ref = React.useRef<T>()

  React.useEffect(() => {
    ref.current = value
  }, [value])

  return ref.current
}

function 被称为

const previousChatMessages = usePrevious(chatMessages);

我很难理解将值存储在 function 中的ref中并使用useEffect与仅保留其值有何不同。

看起来是因为库维护者不想在您更改chatMessages时重新呈现

来自 React 文档:

请记住,useRef 不会在其内容更改时通知您。 改变 the.current 属性不会导致重新渲染。 如果您想在 React 将 ref 附加或分离到 DOM 节点时运行一些代码,您可能需要使用回调 ref 来代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM