【问题标题】:Element type is invalid:expected a string (for built.in components) or a class/function (for composite components) but got: Object元素类型无效:预期为字符串(用于内置组件)或类/函数(用于复合组件)但得到:对象
【发布时间】:2017-09-13 12:17:39
【问题描述】:

每当我尝试使用 react-native run-android 运行时,我都会收到此错误:

元素类型无效:应为字符串(用于内置组件) 或类/函数(用于复合组件)但得到:对象。

查看AppContainer的渲染方法。

这是我发生错误的render方法:

render() {
    return (
        <Drawer 
        ref={(ref)=>this._drawer = ref}
        type="displace"
        content={<View style={{backgroundColor: "#000", height: 1000}}
        />}
        onClose={this.closeDrawer.bind(this)}
        onOpen={this.openDrawer.bind(this)}
        openDrawerOffset={0.2}
        >
        <Navigator
        ref={(ref) => this._navigator = ref}
        configureScene={this.configureScene.bind(this)}
        renderScene={this.renderScene.bind(this)}
        />
        </Drawer>

    )
}

这就是我导入的方式:

import { Drawer, View} from 'native-base'
import Navigator from 'react-native'

我也尝试了{Navigator},但它只是抛出了一个不同的错误,所以我认为现在导入没问题,但我认为问题出在其他地方!

【问题讨论】:

  • 不是import { NavigatorIOS } from 'react-native'吗? facebook.github.io/react-native/docs/navigatorios.html
  • NavigatorIOS?我正在使用安卓。
  • 有什么不同的错误?
  • 它说它没有被导出,但没关系这个,因为我认为它在没有花括号的情况下是正确的。

标签: javascript android reactjs react-native import


【解决方案1】:

Navigator 已弃用,它位于 react native 版本 23 Navigator

您可以使用react-native-router-fluxreact-navigationreact-native-navigation

【讨论】:

  • 现在它显示了这个错误:Route 'configureScene' 应该声明一个屏幕。例如:从 './MyScreen' 导入 MyScreen; ... configureScene: { screen:MyScreen, }
猜你喜欢
  • 2021-03-25
  • 1970-01-01
  • 2020-08-28
  • 2021-04-23
  • 2022-08-15
  • 2020-05-09
  • 2018-02-19
  • 2019-04-02
  • 2018-10-02
相关资源
最近更新 更多