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);
相关推荐
ShoaibShokat037 小时前
React 19 + TypeScript 实战:把 Ludo 游戏拆成纯引擎、状态层和可替换网络层
react.js
kisdiem9 小时前
ReAct:让大模型一边推理,一边行动
前端·react.js·前端框架
Asize9 小时前
Bun + TypeScript 实战:从接口约束到 RESTful 路由设计
后端·typescript·代码规范
尽兴-10 小时前
4.1 智能体核心:Agent、Sub-Agent、ReAct、规划执行
前端·javascript·react.js·agent·react·subagent
大家的林语冰13 小时前
超越 TypeScript,Flow 强势回归,语法高仿 TS,功能更丰富,类型更安全!
前端·javascript·typescript
kyrie2815 小时前
React中如何模拟vue中的watch,computer,v-model
react.js
放下华子我只抽RuiKe515 小时前
FastAPI 全栈后端(八):部署与运维
运维·数据库·react.js·oracle·数据挖掘·前端框架·fastapi
TheITSea15 小时前
一、React初体验:搭建、解析现代开发环境
前端·react.js·前端框架
用户4845262558215 小时前
Bun 入门:Bun.serve 零依赖启动 HTTP 服务
typescript