首页 > 解决方案 > 在返回的组件实例上没有找到 `render` 方法

问题描述

我已经通过命令初始化了基本的 react-native 应用程序react-native init DummyProject并尝试编译并运行它。但它在调试控制台上给了我一个错误

Warning: AppContainer(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.

TypeError: instance.render is not a function

This error is located at:
    in AppContainer (at renderApplication.js:33)

我的应用程序的代码和错误在这张图片中 我的应用程序的代码和错误在这张图片中

即使在删除 node_modules 并再次安装模块后,我也会遇到此错误。制作另一个应用程序也不起作用。在每种情况下都会发生相同的错误

我的 App.js 的代码

import React, { Component } from "react";
import { Text, View } from "react-native";

export default class App extends Component {
  constructor() {
    super();
    this.state = {
      value: 1
    };
  }
  render() {
    return (
      <View>
        <Text>HELLO {this.state.value}</Text>
      </View>
    );
  }
}

index.js

import { AppRegistry } from "react-native";
import App from "./App";
import { name as appName } from "./app.json";

AppRegistry.registerComponent(appName, () => App);

包.json

{
  "name": "DummyProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.6.1",
    "react-native": "0.57.5"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.49.2",
    "react-test-renderer": "16.6.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

标签: javascriptreact-nativeconsole.log

解决方案


我试过你的代码,它对我来说非常好。

也许您正面临缓存问题,试试这个:删除node_modules文件夹并关闭打包程序。然后使用npm install项目目录中的命令重新安装。

在此之后尝试再次运行您的代码。它应该工作。


推荐阅读