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);
相关推荐
优雅格子衫8 小时前
TypeScript 类的基本使用小结
javascript·ubuntu·typescript
谢尔登11 小时前
【React】 状态管理方案
前端·react.js·前端框架
吃西瓜不吐籽_15 小时前
2026 届前端校招冲刺:2 万字高频面试题库(含详解、追问与评分标准)
前端·javascript·css·typescript·前端框架·es6
ch_091816 小时前
从0构建SDK第4节:实现 ReflectionAgent 的自我反思循环
typescript·agent·ai编程
飞天狗16 小时前
TypeScript类型系统其实是个图灵完备的语言
面试·typescript
Eiceblue16 小时前
使用 JavaScript 在 React 中实现 Word 转 PDF
javascript·react.js·word
开发者联盟league17 小时前
Eclipse LSP4E 配置 JavaScript / TypeScript 支持
javascript·typescript·eclipse·lsp·lsp4e
天平1 天前
油猴脚本创建webworker踩坑记录
前端·javascript·typescript
光影少年2 天前
react navite 跨端核心原理
前端·react native·react.js
用户298698530142 天前
在 React 中使用 JavaScript 合并 Excel 文件
前端·javascript·react.js