从基础组件导入无法找到变量

时间:2017-11-29 05:59:45

标签: reactjs react-native

我创建了一个BaseComponent,它将在所有其他组件中扩展:

import React, { Component } from 'react'
import { ScrollView, Text, Image, View, TouchableOpacity, TextInput } from 'react-native'

export default class BaseComponent extends Component {

}

在我的其他组件中,我使用它像:

import BaseComponent from '../Components/BaseComponent'

export default class LoginScreen extends BaseComponent {

}

现在我已经在BaseComponent中导入了ViewScrollView等,但是当我尝试在子组件中使用它时,它显示错误can'find variable View

如何在ChildComponent中使用导入的BaseComponnet类?

1 个答案:

答案 0 :(得分:2)

在Nodejs中,每个文件都被视为一个模块,它有自己的变量范围。例如,当您将变量导入文件React or ScrollView时,将此变量添加到模块范围,而不是全局范围。

如果是webpack,您可以将ProvidePlugin用于少量导入作为全局

new webpack.ProvidePlugin({
  React: 'react' // ReactJS module name in node_modules folder
})

之后,您可以跳过在所有模块中导入这些变量变量,因为webpack会在需要时自行处理它。