我如何在一个类中定义多个方法以从组件中调用它们

时间:2019-10-28 16:16:21

标签: reactjs

我无法从serviceProvider class调用任何方法。我在做什么错了?

import React  from 'react';
export class ServiceProvider {
 hello(){

    alert("hi");
 }
 goodBye(){
    alert("bye")
 }

}

获取我的方法

import { ServiceProvider } from "./providers/services"

function App() {

  {this.ServiceProvider.hello()}   //this line

   return (
    <BrowserRouter>
     <Switch>
      <Route exact path="/welcome" component={Welcome} />
      <Route exact path="/principal" component={Principal} />
      <Route exact path="/secondary" component={Secondary} />
      <Route  component={Notfound} />
     </Switch>
    </BrowserRouter>
   );
 }

 export default App;

1 个答案:

答案 0 :(得分:1)

我认为您无法以这种方式访问​​功能。我改写了ServiceProvider,看起来像这样。

 import React  from 'react';
 const ServiceProvider = {
     hello: function(){
        alert("hi");
     }, 
     goodBye: function(){
         alert("bye")
     }

  };

  export default ServiceProvider;

如果目录包含import { ServiceProvider } from "./providers/services"文件,则将import ServiceProvider from "./providers/services/ServiceProvider";更改为ServiceProvider.js

如果您使用.jsx语法,则可以将其保留为import { ServiceProvider } from "./providers/services",只需确保文件名是index.jsx,并且文件名在./providers/services