react的useRef
在使用RN动画的时候,看到这样的代码:
const App = () => {
const fadeAnim = useRef(new Animated.Value(0)).current;
// ...
return (
<View style={styles.container}>
<Animated.View
style={[
styles.fadingContainer,
{
opacity: fadeAnim // Bind opacity to animated value
}
]}
>
// ...
</Animated.View>
// ...
</View>
);
}
诶,useRef不应该是用在获取子组件实例的吗,这里这个用法是什么意思。
在搜索文章的时候看到了这样一段话:
useRef的作用:
- useRef 用来获取DOM元素对象
- 保存数据
useRef还可以用来保存数据?于是我就继续到react文档上查了一下,看到了这样一段话:
然而,
useRef()
比ref
属性更有用。它可以很方便地保存任何可变值,其类似于在 class 中使用实例字段的方式。
原来是这样,由于之前使用vue的时候,ref就是指的组件实例,因此到react的时候还是想当然地认为useRef只能用来获取组件实例。
知道了了useRef之后,同时解决了我之前的一个疑惑,那就是在从class组件转到函数式组件时,如何在函数式组件中声明实例变量。如果是使用var、let、const声明变量的话,产生的是函数的局部变量,当组件重渲染后,后一次访问的同名局部变量已经不再是前一个同名的局部变量了。那有了useRef后,就可以轻松地解决这个问题。
react的useRef的更多相关文章
- React Hooks: useRef All In One
React Hooks: useRef All In One useRef https://reactjs.org/docs/hooks-reference.html#useref refs xgqf ...
- React Hooks用法大全
前言 在 React 的世界中,有容器组件和 UI 组件之分,在 React Hooks 出现之前,UI 组件我们可以使用函数,无状态组件来展示 UI,而对于容器组件,函数组件就显得无能为力,我们依赖 ...
- react实现设置答题器选项个数
一,设置答题器选项import React, { useState, useEffect } from 'react' import PropTypes from 'prop-types' impor ...
- react实现提示消息容器,可以动态添加,删除内部子提示消息
import React, { useState, useRef, useEffect } from 'react' import PropTypes from 'prop-types' import ...
- 手写一个React-Redux,玩转React的Context API
上一篇文章我们手写了一个Redux,但是单纯的Redux只是一个状态机,是没有UI呈现的,所以一般我们使用的时候都会配合一个UI库,比如在React中使用Redux就会用到React-Redux这个库 ...
- react ts redux-saga | 谷歌Chrome浏览器风格的标签组件 | 中台
谷歌Chrome浏览器风格的标签组件 选用技术 react typescript redux-saga存储本地标签数据 umi 实现 [x] 支持全部关闭,当前关闭,关闭其他Tab [x] 支持Tab ...
- 封装react antd的form表单组件
form表单在我们日常的开发过程中被使用到的概率还是很大的,比如包含了登录.注册.修改个人信息.新增修改业务数据等的公司内部管理系统.而在使用时这些表单的样式如高度.上下边距.边框.圆角.阴影.高亮等 ...
- 基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中。
react-amap 这是一个基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中. 文档实例预览: Github Web | Gitee Web 特性 ️ 自动加载高德地 ...
- react hooks & component will unmount & useEffect & clear up
react hooks & component will unmount & useEffect & clear up useEffect & return === u ...
- 谈谈react hooks的优缺点
前言Hook 是 React 16.8 的新增特性.它是完全可选的,并且100%向后兼容.它可以让你使用函数组件的方式,运用类组件以及 react 其他的一些特性,比如管理状态.生命周期钩子等.从概念 ...
随机推荐
- dubbo2升级到dubbo3实践
dubbo当前版本 2.7.3 期望升级到 3.0.11. 升级过程 maven依赖变更 <dependency> <groupId>org.apache.dubbo</ ...
- 主题 1 The Shell
主题 1 The Shell 课程概览与 shell · the missing semester of your cs education (missing-semester-cn.github.i ...
- PKUSC2022 润摆寄
Day 0 模拟赛的题目竟是 寄 摆 润!预示着我的 PKUSC. Day 1 猜中主角(指九条可怜)原来都是芳文厨 看错时间以为考 \(5h\),于是告诉自己 优势在我可以慢慢做. T1 很显然的 ...
- test20230109考试总结-2023寒搜索专题
前言 2023 年的第一篇考试总结-- 赛时得分情况: A B C D E F G \(\texttt{Total}\) \(\texttt{Rank}\) \(40\) \(80\) \(0\) \ ...
- Django之数据增删改查、Django请求生命周期流程图、Django路由层(路由匹配、转换器、正则匹配)、反向解析
今日内容详细 可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的 obj.pk获取 在模型类中定义__str__方法可以在数据对象被执行打印操作的时候方便查看 ''' form扁担 ...
- python实现简单信息收集
python实现简单信息收集 import whois import socket import sys def Query(domain): ip = socket.gethostbyname(st ...
- vue修改内容点击显示隐藏内容不自动刷新问题
今天遇到一个在card组件中点击显示隐藏的问题,修改了动态绑定的值,但是组件内容没有刷新,但是偶而其他元素修改导致页面动态刷新又刷新了,就猜想修改这个数组中一个对象的值并没有引起vue的动态刷新 解决 ...
- 【学习笔记】XR872 GUI Littlevgl 8.0 移植(显示部分)
LVGL 介绍 官方网站:LVGL - Light and Versatile Embedded Graphics Library 源码位置:GitHub - lvgl/lvgl: Powerful ...
- 9月21日内容总结——计算机基础知识、typora软件的安装与软件内的部分markdown语法
今日内容总结 目录 今日内容总结 一.路径 1.绝对路径 2.相对路径 二.计算机的本质 三.计算机的五大组成部分 1.控制器 2.运算器 PS:CPU=控制器+运算器 3.存储设备 4.输入设备 5 ...
- python基本数据类型与内置方法
1.数据类型内置方法理论 1.每一种数据类型本身都含有一系列的操作方法,内置方法是其本身自带的功能,是其中最多的. 2.python中数据类型调用的内置方法的统一句式为>>>:句点符 ...