繁体   English   中英

在另一个 function React Native 中传递一个 function

[英]Pass a function inside another function React Native

我有以下呈现音频播放器的组件。 冥想列表 function 给了我想要动态播放的文件的位置,音频 function 是播放器的功能。

我想要做的是通过冥想列表返回轨道播放器 url

谢谢


export default class Player extends React.Component<Props> {
  meditationList = () => {
    const adress = this.props.route.params;

    return JSON.stringify(adress.meditation.meditationPlayerAdress);
  };
  audio = () => {
    TrackPlayer.setupPlayer().then(async () => {
      // Adds a track to the queue

      await TrackPlayer.add({
        id: 'trackId',
        url: this.require(meditationList()),
        title: 'Track Title',
        artist: 'Track Artist',
      });

      let trackId = await TrackPlayer.getCurrentTrack();

      // Starts playing it
      TrackPlayer.play();
    });
  };

  pause = () => {
    TrackPlayer.pause();
  };

  stop = () => {
    TrackPlayer.stop();
  };




  render() {
    return (
     ....)}}}

错误图片

嗨,请更改您的代码如下

  1. 删除重复的 function
  2. url: require('../../../assets/track.mp3')更改为url: this.require(meditationList()),

export default class Player extends React.Component<Props> {
  meditationList = () => {
    const adress = this.props.route.params;
    return JSON.stringify(adress.meditation.meditationPlayerAdress);
  };

  audio = () => {
    TrackPlayer.setupPlayer().then(async () => {
      // Adds a track to the queue

      await TrackPlayer.add({
        id: 'trackId',
        url: require(this.meditationList()),
        title: 'Track Title',
        artist: 'Track Artist',
      });

      let trackId = await TrackPlayer.getCurrentTrack();

      // Starts playing it
      TrackPlayer.play();
    });
  };

 pause = () => {
    TrackPlayer.pause();
  };

  stop = () => {
    TrackPlayer.stop();
  };

  render() {
    return (
     ....)}}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM