Javascript 如何在react中使用className执行函数?

Javascript 如何在react中使用className执行函数?,javascript,reactjs,Javascript,Reactjs,实际上,我使用videojs来显示视频。它有自己的功能。我想在它的播放按钮上执行我自己的功能。 播放按钮的代码为 <button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false"><span aria-hidden="true" class="vjs-

实际上,我使用videojs来显示视频。它有自己的功能。我想在它的播放按钮上执行我自己的功能。 播放按钮的代码为

  <button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false"><span aria-hidden="true" class="vjs-icon-placeholder"></span><span class="vjs-control-text" aria-live="polite">Play Video</span></button>
输出:

您可以在
onClick
事件上调用
playButton
函数,而不是将其绑定到
id
className
,如下所示:

从“React”导入React;
导入“/style.css”;
导出默认函数App(){
常量播放按钮=()=>{
log(“函数已执行”);
};
返回(
播放视频
);
}
链接到工作示例:

个人意见:避免混合使用ReactJS和jQuery。

输出:

您可以在
onClick
事件上调用
playButton
函数,而不是将其绑定到
id
className
,如下所示:

从“React”导入React;
导入“/style.css”;
导出默认函数App(){
常量播放按钮=()=>{
log(“函数已执行”);
};
返回(
播放视频
);
}
链接到工作示例:


个人意见:避免混合使用ReactJS和jQuery。

在React中使用Videojs库,很容易实现。它为您提供了许多其他控制,否则我们必须实施这些控制:)

代码沙盒链接:

Video.js

import React from 'react';
import videojs from 'video.js';

export default class VideoPlayer extends React.Component {
  componentDidMount() {
    // instantiate video.js
    this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
      console.log('onPlayerReady', this);
    });
  }

  // destroy player on unmount
  componentWillUnmount() {
    if (this.player) {
      this.player.dispose();
    }
  }

  render() {
    return (
      <div data-vjs-player>
        <video ref={node => (this.videoNode = node)} className="video-js" />
      </div>
    );
  }
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';

const videoJsOptions = {
  autoplay: false,
  playbackRates: [0.5, 1, 1.25, 1.5, 2],
  width: 720,
  height: 300,
  controls: true,
  sources: [
    {
      src: '//vjs.zencdn.net/v/oceans.mp4',
      type: 'video/mp4',
    },
  ],
};

const App = () =>
  <div>
    <Videojs {...videoJsOptions} />
  </div>;

render(<App />, document.getElementById('root'));
从“React”导入React;
从“video.js”导入videojs;
导出默认类VideoPlayer扩展React.Component{
componentDidMount(){
//实例化video.js
this.player=videojs(this.videoNode,this.props,函数onPlayerReady()){
log('onPlayerReady',this);
});
}
//卸载时摧毁玩家
组件将卸载(){
if(this.player){
this.player.dispose();
}
}
render(){
返回(
(this.videoNode=node)}className=“video js”/>
);
}
}
App.js

import React from 'react';
import videojs from 'video.js';

export default class VideoPlayer extends React.Component {
  componentDidMount() {
    // instantiate video.js
    this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
      console.log('onPlayerReady', this);
    });
  }

  // destroy player on unmount
  componentWillUnmount() {
    if (this.player) {
      this.player.dispose();
    }
  }

  render() {
    return (
      <div data-vjs-player>
        <video ref={node => (this.videoNode = node)} className="video-js" />
      </div>
    );
  }
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';

const videoJsOptions = {
  autoplay: false,
  playbackRates: [0.5, 1, 1.25, 1.5, 2],
  width: 720,
  height: 300,
  controls: true,
  sources: [
    {
      src: '//vjs.zencdn.net/v/oceans.mp4',
      type: 'video/mp4',
    },
  ],
};

const App = () =>
  <div>
    <Videojs {...videoJsOptions} />
  </div>;

render(<App />, document.getElementById('root'));
从“React”导入React;
从'react dom'导入{render};
从“/video.js”导入Videojs;
const videoJsOptions={
自动播放:错误,
回放率:[0.5,1,1.25,1.5,2],
宽度:720,
身高:300,
控制:对,
资料来源:[
{
src:“//vjs.zencdn.net/v/oceans.mp4”,
键入:“视频/mp4”,
},
],
};
常量应用=()=>
;
render(,document.getElementById('root'));

在React中使用Videojs库,很容易实现。它为您提供了许多其他控制,否则我们必须实施这些控制:)

代码沙盒链接:

Video.js

import React from 'react';
import videojs from 'video.js';

export default class VideoPlayer extends React.Component {
  componentDidMount() {
    // instantiate video.js
    this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
      console.log('onPlayerReady', this);
    });
  }

  // destroy player on unmount
  componentWillUnmount() {
    if (this.player) {
      this.player.dispose();
    }
  }

  render() {
    return (
      <div data-vjs-player>
        <video ref={node => (this.videoNode = node)} className="video-js" />
      </div>
    );
  }
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';

const videoJsOptions = {
  autoplay: false,
  playbackRates: [0.5, 1, 1.25, 1.5, 2],
  width: 720,
  height: 300,
  controls: true,
  sources: [
    {
      src: '//vjs.zencdn.net/v/oceans.mp4',
      type: 'video/mp4',
    },
  ],
};

const App = () =>
  <div>
    <Videojs {...videoJsOptions} />
  </div>;

render(<App />, document.getElementById('root'));
从“React”导入React;
从“video.js”导入videojs;
导出默认类VideoPlayer扩展React.Component{
componentDidMount(){
//实例化video.js
this.player=videojs(this.videoNode,this.props,函数onPlayerReady()){
log('onPlayerReady',this);
});
}
//卸载时摧毁玩家
组件将卸载(){
if(this.player){
this.player.dispose();
}
}
render(){
返回(
(this.videoNode=node)}className=“video js”/>
);
}
}
App.js

import React from 'react';
import videojs from 'video.js';

export default class VideoPlayer extends React.Component {
  componentDidMount() {
    // instantiate video.js
    this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
      console.log('onPlayerReady', this);
    });
  }

  // destroy player on unmount
  componentWillUnmount() {
    if (this.player) {
      this.player.dispose();
    }
  }

  render() {
    return (
      <div data-vjs-player>
        <video ref={node => (this.videoNode = node)} className="video-js" />
      </div>
    );
  }
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';

const videoJsOptions = {
  autoplay: false,
  playbackRates: [0.5, 1, 1.25, 1.5, 2],
  width: 720,
  height: 300,
  controls: true,
  sources: [
    {
      src: '//vjs.zencdn.net/v/oceans.mp4',
      type: 'video/mp4',
    },
  ],
};

const App = () =>
  <div>
    <Videojs {...videoJsOptions} />
  </div>;

render(<App />, document.getElementById('root'));
从“React”导入React;
从'react dom'导入{render};
从“/video.js”导入Videojs;
const videoJsOptions={
自动播放:错误,
回放率:[0.5,1,1.25,1.5,2],
宽度:720,
身高:300,
控制:对,
资料来源:[
{
src:“//vjs.zencdn.net/v/oceans.mp4”,
键入:“视频/mp4”,
},
],
};
常量应用=()=>
;
render(,document.getElementById('root'));
这篇文章有用吗?这篇文章有用吗?