TypeError:this.props.chooseVideo不是函数

时间:2019-04-30 14:01:19

标签: reactjs

我正在尝试让React Video播放器正常工作。单击输入时,我想更改视频,但是出现以下错误...

TypeError:this.props.chooseVideo不是函数

外面有人可以建议吗?

这是我的代码:

constructor(props) {
  super(props);
  this.handleClick = this.handleClick.bind(this);
}

handleClick(e) {
  const text = e.target.value;
  this.props.chooseVideo(text);
}

  render() {   
    return (
      <form onClick={this.handleClick}>
        <input type="radio" name="src" value="fast" /> fast
        <input type="radio" name="src" value="slow" /> slow
        <input type="radio" name="src" value="cute" /> cute
        <input type="radio" name="src" value="eek" /> eek
      </form>
    );
  }
}

这是app.js代码

const VIDEOS = {
  fast: 'https://s3.amazonaws.com/codecademy-content/courses/React/react_video-fast.mp4',
  slow: 'https://s3.amazonaws.com/codecademy-content/courses/React/react_video-slow.mp4',
  cute: 'https://s3.amazonaws.com/codecademy-content/courses/React/react_video-cute.mp4',
  eek: 'https://s3.amazonaws.com/codecademy-content/courses/React/react_video-eek.mp4'
};

class App extends React.Component {
  constructor(props) {
    super(props);

    this.state = { src: VIDEOS.fast };

    this.chooseVideo =      this.chooseVideo.bind(this);
  }

    chooseVideo(newVideo) {
        this.setState({
        src: VIDEOS[newVideo]
    });
}

  render() {
    return (
      <div>
        <h1>Video Player</h1>
        <Menu chooseVideo={this.choosevideo}/>
        <Video src={this.state.src} />
      </div>
    );
  }
}

0 个答案:

没有答案