如何从 React Native 中的另一个文件调用类的函数?

Jes*_*tin 3 reactjs react-native react-redux

这是我的初始屏幕:

登录屏幕.js

import { Toast } from 'native-base'

class LoginScreen extends Component {

  showError(error) {
    Toast.show({
      text: error
    })
  }

.....

}

export default connect(mapStateToProps)(LoginScreen)
Run Code Online (Sandbox Code Playgroud)

我正在尝试showError像这样调用下面的函数:

登录操作.js

import LoginScreen from './LoginScreen'

let a = LoginScreen.showError('Testing')
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

LoginScreen.showError() is not a function
Run Code Online (Sandbox Code Playgroud)

Est*_*ask 5

由于showErrorLoginScreen它的实例无关并且不使用它,它不应该是它的方法。使用类作为命名空间是现代 JavaScript 中的反模式,ES 模块用于此目的:

export function showError(error) {
  Toast.show({
    text: error
  })
}

class LoginScreen extends Component {...}
Run Code Online (Sandbox Code Playgroud)

由于showError不做任何特定于登录屏幕的事情并且可以在其他地方重用,因此可以将其从LoginScreen公共模块移至通用模块。