这是我的初始屏幕:
LoginScreen.js
import { Toast } from 'native-base'
class LoginScreen extends Component {
showError(error) {
Toast.show({
text: error
})
}
.....
}
export default connect(mapStateToProps)(LoginScreen)
我试图像下面这样调用
showError
函数:loginAction.js
import LoginScreen from './LoginScreen'
let a = LoginScreen.showError('Testing')
我收到一个错误消息:
LoginScreen.showError() is not a function
最佳答案
由于showError
与LoginScreen
不相关并且不使用其实例,因此它不应该是其方法。在现代JavaScript中,将类用作 namespace 是一种反模式,ES模块可达到以下目的:
export function showError(error) {
Toast.show({
text: error
})
}
class LoginScreen extends Component {...}
由于
showError
不会做任何特定于登录屏幕的操作,并且可以在其他地方重用,因此可以将其从LoginScreen
移到通用模块。