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);
相关推荐
whuhewei27 分钟前
React搜索框组件
前端·javascript·react.js
励志前端小黑哥34 分钟前
开发了一个APP,我叫它minebook-hot-server -- 本地服务端口管理工具
rust·typescript
红尘散仙13 小时前
一套 Rust 核心,跑通 Tauri + React Native
react native·react.js·rust
贫民窟的勇敢爷们18 小时前
React跨平台能力,打破前端开发的平台边界
前端·react.js·前端框架
朝阳3919 小时前
React【面试】
前端·react.js·面试
漓漾li20 小时前
每日面试题(2026-05-15)- 前端
前端·vue.js·react.js
用户6000718191020 小时前
【翻译】在 React Router 中理清对话框
react.js
小杍随笔1 天前
【iNovel 前端架构深度解析:基于 Vue 3 + TypeScript + Tauri 的跨端小说写作工具】
前端·架构·typescript
光影少年1 天前
react的 useState 原理、批量更新机制
前端·react.js·掘金·金石计划
Swift社区1 天前
Flutter / React / ArkUI:在鸿蒙 PC 上怎么选?
flutter·react.js·harmonyos