尝试在 react 组件中调用控制器内部的函数



我正在尝试使用webtorrent桌面的基本代码,在这里你可以检查我的分支的代码:https://github.com/refreex/webtorrent-desktop

它使用节点.js和电子

面临的问题是我创建了一个名为 playlists-controller.js 的新控制器,并且有一个名为 getAllPlaylists 的函数,我需要在一个名为 playlists-list.js 的 React 组件中使用

我正在尝试使用以前使用的相同概念,但我不明白如何从 react 组件内的控制器调用该函数。

有一个名为main.js的文件,其中列出了控制器具有的所有功能,如下所示:

  //Playlists
  'createPlaylist': (name) => controllers.playlists().createPlaylist(name),
  'addAlbumToPlaylist': (infoHash, files) => controllers.playlists().addAlbumToPlaylist(infoHash, files),
  'addSongToPlaylist': (infoHash, file) => controllers.playlists().addSongToPlaylist(infoHash, file),
  'getAllPlaylists': () => controllers.playlists().getAllPlaylists(),

沿着应用程序,有很多使用调度程序的呼叫,但我认为主要用于事件,但我不确定。

所以基本上在页面playlists-list.js我需要调用函数getAllPlaylists playlists-controller.js

这样做

的好方法是什么?

提前谢谢。

这可以通过两种方式完成。第一,将函数作为 props 传递给该组件,或者我们可以导出 getAllPlaylist 方法并通过导入播放列表列表组件来使用它。我希望这能帮助您解决问题。

方法一:

 class PlaylistController extends React.Component {
    getAllPlaylist = () => {
    alert('Do Something Here As Per Your Requirement!')
    }
    render () {
    return (
        <container>
            <PlaylistList sendFunction={this.getAllPlaylist} />
        </container>
    )
    }
}

类播放列表列表扩展了 React.Component {

render () {
return (
    <div>
        <button onClick={this.props.sendFunction}>Click Here To Call Playlist-list Function</button>
    </div>
)
}

}

方法2:

 class PlaylistController extends React.Component {
   export const getAllPlaylist = ()=>{
    //do something as per the requirement
   }
 }

import {getAllPlaylist} from './playlistController'
class PlaylistList extends React.Component {

    handleClick = () => {
    getAllPlaylist(); 
    }
    render () {
    return (
        <div>
            <button onClick={this.handleClick}>Click Here To Call Playlist-list Function</button>
        </div>
    )
    }
}

相关内容

  • 没有找到相关文章

最新更新