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);
相关推荐
鹤鸣的日常5 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
ZengLiangYi6 小时前
测试策略:单元测试 + 集成测试怎么写
javascript·typescript·node.js
颂love12 小时前
Vue的两大生态以及组件通信
前端·javascript·vue.js·typescript
vim怎么退出13 小时前
Dive into React——事件系统
前端·react.js·源码阅读
hhb_61813 小时前
TypeScript泛型实战:企业级请求封装全解析
javascript·ubuntu·typescript
crack_comet14 小时前
修复 Claude Code TypeScript LSP 在 Windows 上启动失败的问题
windows·typescript·里氏替换原则
打小就很皮...15 小时前
基于 Python + LangChain + React 实现智能发票识别与验真系统实战
前端·react.js·langchain·ocr·发票识别
惢雨15 小时前
ts中的特殊符号说明并举例,如 ?. 、?:、??等
前端·typescript
圣殿骑士-Khtangc1 天前
单智能体落地实战:从 ReAct 到 Production-Ready AI Agent 全链路解析
人工智能·react.js
Patrick_Wilson1 天前
router.replace 之后紧跟 reload,页面为什么无限刷新?
javascript·react.js·浏览器