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);
相关推荐
菜鸟una5 小时前
【微信小程序 + 消息订阅 + 授权】 微信小程序实现消息订阅流程介绍,代码示例(仅前端)
前端·vue.js·微信小程序·小程序·typescript·taro·1024程序员节
楊无好9 小时前
react中的受控组件与非受控组件
前端·react.js
菠萝+冰9 小时前
react虚拟滚动
前端·javascript·react.js
前端初见10 小时前
快速上手TypeScript,TS速通
javascript·ubuntu·typescript
明月与玄武13 小时前
2025 前端框架决战:Vue 与 React 分析优缺点及使用场景!
前端·vue.js·react.js
郑板桥3014 小时前
TypeScript:npm的types、typings、@type的区别
javascript·typescript·npm
Java陈序员17 小时前
免费高颜值!一款跨平台桌面端视频资源播放器!
vue.js·typescript·electron
举个栗子dhy17 小时前
第四章、路由配置
前端·javascript·react.js
im_AMBER17 小时前
React 03
前端·笔记·学习·react.js·前端框架·react
.生产的驴20 小时前
React 集成Redux数据状态管理 数据共享 全局共享
前端·javascript·react.js·前端框架·css3·html5·safari