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);
相关推荐
ttod_qzstudio5 小时前
TypeScript严格模式下的undefined与null
typescript·null·undefined
王林不想说话9 小时前
React自定义Hooks
前端·react.js·typescript
gustt9 小时前
React 跨层级组件通信:从 Props Drilling 到 useContext 的实战剖析
前端·react.js
社恐的下水道蟑螂10 小时前
深入理解 React 中的 Props:组件通信的桥梁
前端·javascript·react.js
留简10 小时前
从零搭建一个现代化后台管理系统:基于 React 19 + Vite + Ant Design Pro 的最佳实践
前端·react.js
然麦11 小时前
我的dify被精准攻击了(CVE-2025-55182)
人工智能·react.js
小肥宅仙女11 小时前
告别繁琐!React 19 新特性对比:代码量减少 50%,异步状态从此自动管理
前端·react.js
咖啡の猫13 小时前
TypeScript 开发环境搭建
前端·javascript·typescript
咖啡の猫14 小时前
TypeScript基本类型
linux·ubuntu·typescript
3秒一个大14 小时前
React 中 Context 的作用与用法:从主题切换案例说起
前端·react.js