react+ts使用video实现视频录制不兼容微信浏览器——loadedmetadata

4 篇文章 0 订阅

react+ts使用video实现视频录制不兼容微信浏览器

问题描述

react+ts使用video实现视频录制,ios和安卓浏览器都ok,安卓微信也可以,但是ios微信确认调用摄像头确认后页面不显示。

根据打印结果表示,未进入自动调用方法判断里

在这里插入图片描述

onloadedmetadata

loadedmetadata这个函数,当指定的音频/视频的元数据已加载完成时,才会触发判断里的方法。

这种获取视频的时长在其他浏览器都可以获取到视频的时长,但是在微信浏览器打开就不行

由于是视频录制功能,初始化的时候也没有视频长度,直接注释掉就ok

参考资料:微信浏览器h5 loadedmetadata 兼容性问题

React+TS(TypeScript)项目中实现嵌套路由,通常涉及以下步骤: 1. **创建路由组件**:首先,你需要创建一个或多个组件,这些组件将作为路由的目标。 2. **定义路由配置**:在`Route`组件中,你可以通过`Routes`组件定义嵌套路由。为每个子路由指定一个路径和对应的组件。使用`Route`组件的`element`属性指定渲染哪个组件。 3. **使用`useRoutes`或`<Routes>`**:你可以使用React Router提供的`useRoutes`钩子函数或者`<Routes>`组件来配置路由。`useRoutes`可以返回一个React元素数组,而`<Routes>`则包裹`<Route>`组件。 4. **传递`children`属性**:在父`Route`元素中,通过`children`属性传递路由配置,可以实现嵌套路由。 下面是一个简单的示例,展示了如何在React+TS项目中设置嵌套路由: ```tsx import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; import { Home, About, User, UserDetail } from './components'; // 定义嵌套路由配置 const routesConfig = [ { path: '/', element: <Home />, children: [ { path: 'about', element: <About />, }, { path: 'users', element: <User />, children: [ { path: ':userId', element: <UserDetail />, }, ], }, ], }, ]; // 使用useRoutes钩子实现路由配置 const Routing = () => { const routes = useRoutes(routesConfig); return routes; }; // 渲染Router并包裹路由配置 const App = () => { return ( <Router> <Routes> <Route path="/*" element={<Routing />} /> </Routes> </Router> ); }; export default App; ``` 在这个例子中,我们使用了`useRoutes`来定义路由配置,其中`Home`组件作为根路由,其下有两个子路由:`About`和`User`。在`User`路由下,我们又定义了一个动态路由`UserDetail`,它将匹配类似`/users/123`这样的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值