美文网首页
在 React 函数式组件中使用 useState, 变量,us

在 React 函数式组件中使用 useState, 变量,us

作者: 前端小白的摸爬滚打 | 来源:发表于2021-07-29 08:04 被阅读0次

在 React 函数式组件中使用 useState, 变量,useRef 的时机

  1. 变量

变量在每次组件重新渲染的时候都会被重新进行赋值,所以如果你想要保留之前操作的状态的话就不要使用变量

  1. useState

组件更新不会改变之前的状态,可以保存状态

  1. useRef

也可以保存我们的状态

那么问题来了: 我们什么时候该用 useState 什么时候该用 useRef 呢?

useState: 当我们需要在状态改变的时候重新渲染视图,那么我们就使用 useState 来保存我们的状态

useRef: 如果我们只是想保存状态,而且可以同步更新&获取我们的状态,那么就使用 useRef

useRef 的特点

  • 每次渲染 useRef 返回值都不变;

  • ref.current 发生变化并不会造成 re-render;

  • ref.current 发生变化应该作为 Side Effect(因为它会影响下次渲染),所以不应该在 render 阶段更新 current 属性。

useRef 注意事项:

  • ref.current 不可以作为其他 hooks(useMemo, useCallback, useEffect)依赖项;ref.current 的值发生变更并不会造成 re-render, Reactjs 并不会跟踪 ref.current 的变化。

函数组件使用 createRef 不行吗?

createRef 主要解决 class 组件访问 DOM 元素问题,并且最佳实践是在组件周期内只创建一次(一般在构造函数里调用)。如果在函数组件内使用 createRef 会造成每次 render 都会调用 createRef

相关文章

  • 在 React 函数式组件中使用 useState, 变量,us

    在 React 函数式组件中使用 useState, 变量,useRef 的时机 变量 变量在每次组件重新渲染的时...

  • 【web前端】一分钟带你搞懂 useState

    useState 是 React 中的一个 Hooks,它用于在函数组件中管理状态变量。 如何使用 导入 useS...

  • useState & useReducer

    useState 在 React 函数组件中存储内部 state 通常会使用 useState hook 传入一个...

  • React - 函数式组件化 & props参数传递

    React函数式组件化 & props参数传递 函数式组件 定义变量 & 使用组件 通过props传递参数 展开运...

  • react-函数组件

    react的组件有两种形式:函数组件和类组件。本文主要介绍下函数组件。 useState 代码片段 使用描述 1....

  • React Hooks

    一.useState hooks就是在函数组件中使用state通过useState实现的。 useState传入一...

  • React Hooks

    State Hook State Hook是一个在函数组件中使用的函数(useState), 用于在函数组件中使用...

  • 笔记-React-Hooks

    一、矛与盾的问题?(Class组件与函数式组件)   在 React 中 Class 组件好用还是函数式组件好用呢...

  • 学习react

    useState组件记住一些信息,并且重置(设置当前的值初始状态) 允许在react函数组件中添加state的ho...

  • React Hook用法详解(6个常见hook)

    1、useState:让函数式组件拥有状态 用法示例: PS:class组件中this.setState更新是st...

网友评论

      本文标题:在 React 函数式组件中使用 useState, 变量,us

      本文链接:https://www.haomeiwen.com/subject/bmlxvltx.html