当前位置: 首页 > 知识库问答 >
问题:

当我导航到此页面时,总是出现错误“超级表达式必须为null或函数,而不是未定义的”

钮承恩
2023-03-14
'use strict';
import React, {Component} from 'react';
import { Tab, TabLayout } from 'react-native-android-tablayout';

import{
  ViewPagerAndroid,
  View,
  StyleSheet,
  ScrollView,
  Text,
} from 'react-native';

import EventList from './javra-event-list';

var eventLayout = (
  <ScrollView>
    <EventList 
      title='Latest Event' 
      event='latest' 
      itemsPerRow={this.props.movies.length} 
      items={this.props.movies} direction={true}/>
    <EventList 
      title='Event Type' 
      event='event' 
      itemsPerRow={this.props.movies.length} 
      items={this.props.movies} direction={true}/>
    <EventList 
      title='Popular Event' 
      event='popular' 
      itemsPerRow={this.props.movies.length} 
      items={this.props.movies} direction={true}/>
  </ScrollView>
);

var tabView = eventLayout;

export default class TabsUi extends Component {
  constructor(props) {
    super(props);
    this.state = {
      pagePosition: 0,
    }
  }

  render(){
    return(
      <View style={{marginTop:0, flex:1}}>
        <TabLayout  
          style ={{height:40, backgroundColor: 'skyblue'}} 
          selectedTab = {this.state.pagePosition}
          onTabSelected = {this.setPagePosition.bind(this)}>
          <Tab name="Events" style={styles.tab1}/>
          <Tab name="User Uploads" style={styles.tab1}/>
        </TabLayout>
        {tabView}
      </View>
    );
  }

  setPagePosition(e:Event){
    const pagePosition = e.nativeEvent.position;
    console.log(pagePosition);
    this.setState({pagePosition});
    switch (pagePosition) {
      case 0:
        tabView = (
          <ScrollView>
            <EventList 
              title='Latest Event' 
              event='latest' 
              itemsPerRow={this.props.movies.length} 
              items={this.props.movies} direction={true}/>
            <EventList 
              title='Event Type' 
              event='event' 
              itemsPerRow={this.props.movies.length} 
              items={this.props.movies} 
              direction={true}/>
            <EventList 
              title='Popular Event' 
              event='popular' 
              itemsPerRow={this.props.movies.length} 
              items={this.props.movies} 
              direction={true}/>
          </ScrollView>
        );
        break;
      case 1: 
        tabView = (
          <View>
            <Text>
              Tab content 2
            </Text>
         </View>
        );
        break;
      default:
    }
    this.forceUpdate();
  }
}

当我导航到此页面时,总是出现上述错误。我使用了最新的ECMA脚本语法和最新的react原生版本0.27。我的代码有什么问题?

如有任何建议,将不胜感激。

共有2个答案

彭硕
2023-03-14

现在,react-nate-android-tablayout更新为大于0.28v的react-nate-android-tablayout的最新版本。感谢这个图书馆的作者。https://github.com/AlbertBrand/react-native-android-tablayout/issues/22

现在,android支持tablayout。

狄赞
2023-03-14

我也有同样的问题,我刚刚更新了节点_模块上的两个文件Tab.js和TabLayout.jshttps://github.com/AlbertBrand/react-native-android-tablayout 这对我来说很有效,主要的变化是调用导入模块。

import {
  React,
  Component,
  PropTypes,
  processColor,
  requireNativeComponent,
  View,
} from 'react-native';

取而代之

import React, {
  Component,
  PropTypes
} from 'react';
import {
  processColor,
  requireNativeComponent,
  View,
} from 'react-native';

但最好替换整个文件

 类似资料:
  • 我一直在学习udemy的课程,但无论我做什么,都会出现一个错误: 以下是组件代码: 下面是我要导入的图表组件: 但显然是反应。组件未定义,所以它会抛出一个错误。

  • 跟踪这个问题的问题无法解决我的问题。 reactjs给出错误未捕获类型错误:超级表达式必须为空或函数,而不是未定义 我的反应版本是"^15.3.1"。 我添加了下面的代码片段

  • 我得到一个空白的浏览器和在控制台我得到这个错误 未捕获的TypeError:超级表达式必须为null或函数,而不是未定义的 我读过其他类似的帖子,但没有看到任何相关的内容。 这是我的文件: 这是我的文件: 这是文件: 您已经注意到,我正在运行一些旧版本的webpack和其他软件包,因为我正试图跟上webpack的速度,但我不确定这是否是问题所在。我不确定它指的是什么。 有人问我关于扩展的问题,我正

  • 从0.13.2更新到0.14.2后,我发现以下错误: 对此已经有几个问题了。最常见的错误是拼错React.component(没有大写字母C)。另一个是尝试使用ES6类的版本 但我已经成功地使用了带有React 0.13.x的ES6类,我在所有地方都使用大写字母C,并且记录React.Component似乎给出了一个合适的结果(函数ReactComponent(…) 经过一些搜索,我做了这3个测试

  • 问题内容: 我使用React编写此演示。我使用Webpack来构建此演示。启动此演示时,错误将显示给我。 错误: 未捕获的TypeError:超级表达式必须为null或函数,且未定义 我不知道该怎么解决。 问题答案: 代码中的唯一警告是由于您没有扩展正确的类,而需要扩展。

  • 问题内容: 我正在使用reactjs。 当我在浏览器下面运行代码时: 未捕获的TypeError:超级表达式必须为null或函数,且未定义 关于任何错误的任何暗示将不胜感激。 首先是用于编译代码的行: 和代码: 更新:在针对此问题的地狱之火中燃烧了三天后,我发现我没有使用最新版本的react。 全局安装: 在本地安装: 确保浏览器也使用正确的版本: 希望这可以为他人节省三天的宝贵生命。 问题答案: