javascript - React Native - super 表达式必须为空或函数

标签 javascript reactjs react-native super superclass

我想构建一个包含多个方法的父类(super class),因为我想从不同的类中调用它们。此外,我还有减少代码的好处。

但是,我收到错误消息“Super expression must either be null or a function”

这是我要从 SuperScreen.js 文件中调用函数 super.interface() 的类之一:

import React from "react";
import { SuperScreen } from "./SuperScreen";

export default class HomeScreen extends SuperScreen {
  constructor(props) {
    super(props);
    this.state = {
      isLoading: true,
      data: null,
      key: 15
    };
  }

render() {
    return super.interface();
  }
}

我的 SuperScreen.js

import React, { Component } from "react";

export default class SuperScreen extends Component {
  constructor() {}

  interface() {...}
}

但是,我仍然收到消息 Super expression must either be null or a function。为什么以及如何修复它?

亲切的问候和感谢

最佳答案

您的导入有点困惑。 从 SuperScreen 导入中删除大括号,因为您将 SuperScreen 类导出为默认值。

import SuperScreen from "./SuperScreen";

或者改正导出

export class SuperScreen extends Component

关于javascript - React Native - super 表达式必须为空或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53485129/

相关文章:

javascript - 事件处理程序的闭包 - 必须是 "return"

javascript - 获取不同地点的经纬度值到一个值

javascript - 如果文件被服务器 gzipped,ajax 内容是否 gzipped

reactjs - 在React-Native NativeBase中显示本地镜像

html - Create React App提供的react-scripts包需要依赖: Babel-Jest

javascript - IF Else 语句在 setInterval() 函数中无法正常工作

genymotion - react-native run-android 不工作以及如何在 genymotion 上运行它

javascript - 静音 + 自动播放多个 vimeo 视频

reactjs - 重新绘制 Y 轴间隔问题

javascript - 如何键入组件的样式属性以接受数组?