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);
相关推荐
kyriewen8 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
张元清12 小时前
React useDisclosure Hook:管理模态框和抽屉的打开关闭状态 (2026)
javascript·react.js
学高数就犯困12 小时前
React:常见的性能优化手段
前端·react.js
濮水大叔12 小时前
为什么 AI 最擅长 React/Next.js,却很少看到真正好用的 Next.js 开源项目?
react.js·node.js·next.js
Cloud_bread15 小时前
从ReAct到自主闭环:Agentic Coding核心执行引擎的技术演进
前端·react.js·前端框架
A242073493016 小时前
Vue 3 + TypeScript:核心优势与开发注意事项详解
vue.js·ubuntu·typescript
用户09340777351418 小时前
HarmonyOS WPS Open SDK 实践:enableEdit 怎么映射预览与编辑
typescript
Darling噜啦啦18 小时前
React 组件进化论:从状态混乱到 UI = fn(props) 的三次重构
react.js
鱼饼Y18 小时前
AI时代,使用大模型学习LangChain (4)——LangGraph
typescript·langchain
无人生还18 小时前
从 Vue3 到 React · 快速上手系列第 10 篇:路由
前端·vue.js·react.js