TS-React:useRef 使用

不能给 useRef 的 current 属性赋值,提示一下错误信息:

Cannot assign to 'current' because it is a read-only property.(不能给current属性复制,因为它是一个只读属性。)

代码如下所示:

typescript 复制代码
let cameraMediaStream = useRef<MediaStream>(null);

/**
 * 打开摄像头
 **/
const openCamera = async (cameraId = curCameraId) => {
    try {
      // 关闭已打开的摄像头
      if (cameraMediaStream) await closeCamera();
      // Cannot assign to 'current' because it is a read-only property.
      cameraMediaStream.current = await ImageCapture.openCamera({ cameraId, video: videoRef.current, width, height });
    }
    catch (err: any) {
    	// 错误信息提示...
    }
}

解决方案:将 current 属性变为非只读属性,useRef 的泛型参数中增加【| null】即可把 current 属性变为非只读属性。

typescript 复制代码
let cameraMediaStream = useRef<MediaStream | null>(null);
相关推荐
空中海11 小时前
01 React Native 基础、核心组件与布局体系
javascript·react native·react.js
空中海11 小时前
05 React架构设计、项目实践与专家清单
前端·react.js·前端框架
前端之虎陈随易13 小时前
2年没用Nodejs了,Bun很香
linux·前端·javascript·vue.js·typescript
空中海13 小时前
04 工程化、质量体系与 React 生态
前端·ubuntu·react.js
Yue16813 小时前
啥子都能看懂的TypeScript快速入门
typescript
空中海13 小时前
03 性能、动画与 React Native 新架构
react native·react.js·架构
空中海15 小时前
02 React Native状态、导航、数据流与设备能力
javascript·react native·react.js
空中海16 小时前
04 React Native工程化、质量、发布与生态选型
javascript·react native·react.js
郑生zs18 小时前
Hooks-useEffect
react.js
光影少年18 小时前
react函数组件、类组件、纯组件、受控/非受控组件
前端·react.js·掘金·金石计划