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);
相关推荐
森G11 小时前
TypeScript环境搭建---------------基于windows10
开发语言·typescript
__log13 小时前
Vue 3 与 React 18+ 核心技术深度对比:从源码到实战
前端·vue.js·react.js
__log1 天前
Vue 2 → Vue 3 迁移实战指南:不只是升级语法,更是一次思维跃迁
react.js
爱吃大芒果1 天前
从零搭建完整 HarmonyOS 应用实战教程
华为·typescript·harmonyos
烛衔溟1 天前
TypeScript 中的类基础
javascript·ubuntu·typescript
zzzzzz3101 天前
AI Agent 开发实战:从零构建智能代码助手
react.js·node.js
烛衔溟1 天前
TypeScript 类实现接口
linux·ubuntu·typescript
在繁华处1 天前
从零搭建轻灵:一个 TypeScript CLI Agent 框架的诞生
前端·javascript·typescript
不可食用盐2 天前
# AI开发基于 Tauri 2 + React 的所见即所得 Markdown 编辑器
react.js·rust·ai编程