Javascript React Native:调用';它位于类的功能组件内部

Javascript React Native:调用';它位于类的功能组件内部,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我不知道函数组件和类组件是如何交互的。如何从类内部调用函数组件的函数 我正在尝试调用Initialize() App.js: import Firebase from './components/Firebase'; export default class App extends React.Component { componentDidMount() { // Call Initialize() } Firebase.js: const Firebase = ()

我不知道函数组件和类组件是如何交互的。如何从类内部调用函数组件的函数

我正在尝试调用Initialize()

App.js:

import Firebase from './components/Firebase';

export default class App extends React.Component {

  componentDidMount() {
  // Call Initialize()
  }    
Firebase.js:

const Firebase = () => {
   
  
  const Initialize = () => {
   // Initialize Firebase
   
      firebase.initializeApp(firebaseConfig);

      console.log("Firebase is initialized");
  }
}

export default Firebase;

我认为这种混淆更多地与JavaScript有关,而不是与任何JavaScript库/框架有关。 您试图调用私有函数,该函数仅在Firebase闭包函数中可用。 如果要将Initialize函数设置为可用,如“静态”方法,请将其声明为属性:

const Firebase=()=>{
...
};
Firebase.Initialize=()=>{
//初始化Firebase
firebase.initializeApp(firebaseConfig);
log(“Firebase已初始化”);
};
导出默认Firebase;
//然后
导出默认类App扩展React.Component{
componentDidMount(){
Firebase.Initialize()
}
}

我认为混淆更多地与JavaScript有关,而不是与任何JavaScript库/框架有关。 您试图调用私有函数,该函数仅在Firebase闭包函数中可用。 如果要将Initialize函数设置为可用,如“静态”方法,请将其声明为属性:

const Firebase=()=>{
...
};
Firebase.Initialize=()=>{
//初始化Firebase
firebase.initializeApp(firebaseConfig);
log(“Firebase已初始化”);
};
导出默认Firebase;
//然后
导出默认类App扩展React.Component{
componentDidMount(){
Firebase.Initialize()
}
}

第二个示例不是功能组件。它不返回任何JSX。如果你在这里明确你的意图,你会更容易得到帮助。你的第二个例子不是一个功能组件。它不返回任何JSX。如果您在此处阐明您的意图,则更容易获得帮助。另一个选项是使
Firebase
不是一个函数,而是一个导出对象,这基本上就是您通过将其附加到默认导出对象所做的。也许您想说:“另一个选项是使Firebase不是一个组件”?是的,没错,但我不知道Firebase对象的所有作用域(可能是组件?)。我不知道,作者写道,
我对功能组件和类组件的交互方式一无所知。
Firebase
可以是一个HOC,提供商店提供商,或者任何类型的上下文,谁知道呢?这就是为什么我在问题评论中问了一个问题。现在,它不是一个组件,它只是一个函数。如果是这样,就不需要编写静态方法。但是,正如您所说,“谁知道呢?”。希望澄清一下,我正在尝试制作一个.JS来处理所有Firebase初始化和存储。它不需要渲染任何东西,我只需要能够从任何组件调用其中的函数来存储在服务器中。另一个选项是使
Firebase
不是一个函数,而是一个导出对象,这基本上就是您通过将其附加到默认导出对象所做的。也许您想说:“另一个选择是使Firebase不是组件”?是的,没错,但我不知道Firebase对象的所有范围(可能是组件?)。我不知道,作者写道
我对功能组件和类组件如何交互感到迷茫。
Firebase
可能是一个HOC,提供存储提供商,或任何类型的上下文,谁知道呢?这就是为什么我在问题注释中问了一个问题。现在,它不是一个组件,它只是一个函数。如果是这样,就不需要编写了一个静态方法。但是,正如你所说,“谁知道呢?”。希望澄清一下,我正在尝试制作一个.JS来处理所有Firebase初始化和存储。它不需要呈现任何内容,我只需要能够从任何组件调用其中的函数来存储在服务器中。