我什么时候应该在reactjs

时间:2020-06-26 01:33:38

标签: reactjs react-hooks

现在我正在将基于类的组件更改为功能组件,并且应该确定使用 useRef useState 的实例。

我已经尝试过使用stackoverflow问答获取答案,这让我感到疑惑。

我了解的是useRef,useState可以在整个应用程序中保持价值,而useState会导致重新呈现,而useRef不会。

如果视图中有一些更改,我们需要重新渲染过程;如果是,我们是否应该使用useRef创建整个变量,而该变量不在return( <> ...</>)>中?

2 个答案:

答案 0 :(得分:0)

在大多数情况下,您想通过useState(或作为参数获取的props)提供的状态来处理react组件的行为。这就是React的发展方式。

最终,useRef有时会出现某些情况,例如,出于某些特殊原因,您可能需要直接访问DOM元素。但它们是例外情况。如果您发现自己在整个应用程序中都在调用useRef,则很可能是在做错什么。

答案 1 :(得分:0)

通常,Ref用于当您不想再次重新渲染组件,但您希望以某种形式赋值时可以在以后使用。用外行术语来说,如果您只想玩与dom相关的东西,例如更新宽度,高度等。

使用ref的常见示例:

  1. 当您想在不使用状态的情况下集中输入和输出内容时(因为您不想再次渲染该组件)

  2. 动态更新样式(Fox ex:创建手风琴,然后要在打开和关闭时更新高度并显示过渡(如果不想显示,则可以避免该示例)

  3. 如果要创建this类型的实用程序,则不需要使用states,而只能使用ref