在本机反应中,如何使Component中的功能成为全局的?

时间:2019-12-18 07:49:46

标签: reactjs react-native global-functions

像这样的主要javascript源代码,

import React from 'react'
import LoadingScreen from './components/LoadingScreen'

import './js/Login'
import './js/XHR'

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

    this.state = {
      load: false,
    }
  }

  XHRget = async parameter => {
    this.setState({ load: true });

    await XHR.send(parameter)
      .then(result => {
        this.setState({ load: false });
        console.log(result);
      });
  }

  render() {
    return (
      <View>
        <LoginScreen />
        <LoadingScreen load={this.state.load}></LoadingScreen>
      </View>
    );
  }
}

export default App

我在 App.js 中创建了XHRget(),用于控制“ LoadingScreen”组件。

XHR.js 具有两个功能。 1)创建并返回名为create()的XMLHttpRequest函数,2)从名为send()的服务器函数获取数据。

现在,我想从 Login.js 中的XHRget()调用函数login(),但是,我不知道如何调用。

如何从另一个js文件中调用函数XHRget()

1 个答案:

答案 0 :(得分:2)

使用您喜欢的名称创建一个新文件,并将函数放入其中,然后将其导出。

例如。

export const XHRget = async (parent,parameter) =>
{
   parent.setState({load: true});
   await XHR.send(parameter)
         .then(result => {
             parent.setState({load: false});
             console.log(result);
             });
}

记住在调用时传递this