API方法调用:

1. const player = useRef();

2.<div ref={inputRef}> 要添加的内容 </div>

3. <Button onClick={()=>bigView(inputRef)} />

4.const bigView = a => { a.current.toggleFullscreen(); };

说明:1.react要引入useRef(); 4.a是参数,可以随便命名。.current是固定的。

----------------------------------------------------------------------------------------------

子组件方法调用:

如果是调用子组件的方法,则需要在子组件添加useImperativeHandle暴露给父组件要调用的方法

useImperativeHandle(() => ({ showViewer: () => { setIsView(true); }, }));

子组件

import * as React from 'react';
import PropTypes from 'prop-types';
import { BigPlayButton, ControlBar, Player, PlayToggle } from 'video-react';
import { useImperativeHandle, useState } from 'react';const VideoLargeView = ({ item, cRef }) => {const [isView, setIsView] = useState(false);const closeViewer = () => {setIsView(false);};useImperativeHandle(cRef, () => ({showViewer: () => {setIsView(true);},}));return (<>{/* 视频放大 */}<div className="maskbox" onClick={closeViewer} style={{ display: isView ? 'block' : 'none' }}><img className="big-view-close" onClick={closeViewer} src="/images/Icon_close.svg" /><div className="img-vedio-hw"><PlayerplaysInlineposter={''}SeekBar={false}disableDefaultControls={true}autoPlaysrc={item._url}loopmaxHeight="450"className="playvideo"muted={true}><ControlBar disableCompletely={true}><BigPlayButton position={'videoBtnHide'} /><PlayToggle disable /></ControlBar></Player></div></div></>);
};VideoLargeView.propTypes = {item: PropTypes.any,cRef: PropTypes.object,
};export default VideoLargeView;
父组件
import { useRef } from 'react';import VideoLargeView from './VideoLargeView';const NftDetailLargeView = ({ item }) => {const inputRef = useRef(null)const showViewer1 = () => {inputRef.current.showViewer();};return (<><Button onClick={showViewer1} />{/* 视频放大 */}<VideoLargeView cRef={inputRef} item={item}></VideoLargeView></>
)}

补充最重要的一点,不同的父组件调用同一个子组件, ref={inputRef}的player都要命名不同名字,不然就会有一个报undefined

react 的 ref 按钮异步点击调用方法相关推荐

  1. 注册按钮php,JavaScript_javascript实现十秒钟后注册按钮可点击的方法,本文实例讲述了javascript实现十 - phpStudy...

    javascript实现十秒钟后注册按钮可点击的方法 本文实例讲述了javascript实现十秒钟后注册按钮可点击的方法.分享给大家供大家参考.具体分析如下: 1.注册按钮初始状态为不可用,disab ...

  2. JavaScript笔记-表格中放按钮并点击调用

    最终功能是这样的: 这个表格中存放了2个按钮,如购买份额,点击到指定页面,这里将url中添加一个id字段如点击后: 对应的表格代码是这样的: <tbody>{foreach $model ...

  3. 微信小游戏中监听一个按钮的点击事件方法

    首先肯定是看API文档,如图所示 但初学者特别是自学者看的一脸迷惘不知所措,又没有实例.所有我来写一下我的做法,有什么错误请大家指出一起交流一下哈! 直接看代码清楚点 let points = [{x ...

  4. 防止按钮快速点击的方法

    public class Utils {// 两次点击按钮之间的点击间隔不能少于1000毫秒private static final int MIN_CLICK_DELAY_TIME = 1000;p ...

  5. 设置html按钮点击事件无效果,css怎么设置按钮不能点击?

    css怎么设置按钮不能点击?下面本篇文章就来给大家介绍一下使用CSS设置按钮不能点击的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 想要按钮不能点击可以通过设置按钮点击事件失 ...

  6. 【已解】英雄联盟lol撸啊撸“寻找对局”按钮无法点击,开不了赛解决方法

    问题描述 lol现在已经有些年头了,随着时间的推移,客户端是越来越漂亮,越来越简洁,但实际上也越来越占CPU和内存,有这么一种情况,在进入队列界面后,选择好自己要打的位置,没法点击寻找对局,导致lol ...

  7. html页面调用php方法,如何从HTML按钮点击调用PHP函数?

    有人可以帮我一些JavaScript,当我点击一个按钮时,我可以调用一个函数吗?如何从HTML按钮点击调用PHP函数? 我知道这之前已经公布,但每一个我所看到的答案是太含糊,我一直在这个现在8小时:( ...

  8. js按钮点击事件,调用方法

    <html><head><title>usually function</title></head><script> funct ...

  9. 微信小程序中的页面跳转(通过点击按钮、调用方法的形式)

    页面跳转用的多吧.tabBar的空间有限.通过路由的方式跳转时Vue中常用的方式.小程序采用类似的做法. – 这里通过给按钮绑定点击事件.调用方法.方法中实现页面跳转.(其它方式暂不考虑) 1.效果 ...

最新文章

  1. 利用矩阵奇异值分解(SVD)进行降维
  2. Sync 攻击原理及防范技术
  3. C++程序设计-第九周分支结构程序设计上机实践项目
  4. Javascript自定义事件功能与用法实例分析
  5. Spark MLlib 机器学习
  6. 七种与輻射和平相處的妙法 - 生活至上,美容至尚!
  7. 用于计算机视觉领域的python第三方库是什么_大量Python开源第三方库资源分类整理,含菜鸟教程章节级别链接...
  8. 贾跃亭画了一个8500亿的大饼
  9. 修改android virtual device路径
  10. 腾讯2019暑期实习生提前批CV岗笔试题
  11. linux网络编程-----非阻塞connect
  12. 可消费消息数量_17 个方面,综合对比 主流消息队列
  13. 「3D手指血管扫描」一套无法复制的生物识别系统
  14. 红旗Linux 网卡bond,Linux双网卡绑定一个IP的实现
  15. 微信小程序连接无法跳转/ can not navigate to tabBar page错误
  16. bbsmax mysql_MySQL中自己不太常用的命令
  17. 使用PaddlePaddle轻松实现语音合成
  18. 尚德计算机科学与技术网课,计算机科学与技术
  19. twitter如何以图搜图_如何从 shutterstock 下载无水印小样图
  20. win10系统下office2003和office2016兼容

热门文章

  1. 小学六年级 计算机演讲稿,小学六年级演讲稿大全【5篇】
  2. 确定了,2022下半年软考报名8月开始
  3. [转]谈谈我对攻读计算机研究生的看法
  4. 乔布斯的中国门徒:黄章和雷军恩怨大起底
  5. 2021图像识别领域最具商业合作价值企业盘点
  6. 卷积神经网络 图像识别,卷积神经网络图像处理
  7. tmux从入门到入土
  8. python 实现endnote下载的pdf文件的整理
  9. 微电子器件实验 04 - | 晶体管特征频率的测量
  10. C语言——刚开始接触一些小项目,你需要知道的几个函数