它在运行时出现此错误: undefined is not a function (evaluating '_reactNativr.default.createElement')

Utk*_*mar 2 react-native

这部分代码没有运行它总是返回 en 错误,说明未定义或不是渲染中的函数function()


标题

'use strict';
import React, {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    TouchableHighlight,
    AlertIOS,
    Dimensions,
    BackHandler,
    PropTypes,
    Component,
} from 'react-native';

import NavigationExperimental from 'react-native-deprecated-custom- 
components';

var _navigator;
//var Navipanel=require('./App/Navigation/Navipanel.js');
var Dashboard= require('./App/Dashboard/dashboard.js');
//var Sample= require('./App/Navigation/sample.js');
var Matches = require('./App/Components/Matches.js');
var Users = require('./App/Components/Users.js');
var SCREEN_WIDTH =require('Dimensions').get('window').width;
var BaseConfig=NavigationExperimental.Navigator.SceneConfigs.FloatFromRight;

var CustomLeftToRightGesture = Object.assign({}, BaseConfig.gestures.pop, 
    {
        snapVelocity: 8,
        edgeHitWidth: SCREEN_WIDTH,
    });

BackHandler.addEventListener('hardwareBackPress', () => {
     if (_navigator.getCurrentRoutes().length === 1) {
         return false;
     }

     _navigator.pop();
     return true;
});

var CustomSceneConfig = Object.assign({}, BaseConfig, {
    // A very tighly wound spring will make this transition fast
    springTension: 100,
    springFriction: 1,
    // Use our custom gesture defined above
    gestures: {
        pop: CustomLeftToRightGesture,
    }
});

//var createReactElement = require('create-react-element');
var createReactClass = require('create-react-class');
var test = createReactClass({
    _renderScene(route,navigator) {
        _navigator = navigator;

        if (route.id === 1) {
            return <Dashboard navigator={navigator}/>;
        }
        else if(route.id === 2) {
            return <Sample navigator={navigator} /> ;
        }
        else if(route.id === 3) {
            return <Navipanel navigator={navigator} /> ;
        }
        else if(route.id === 4){
            return <Matches navigator={navigator} /> ;
        }
        else if(route.id === 5) {
            return <Users navigator={navigator} />
        }
    },

    _configureScene(route) {
        return CustomSceneConfig;
    },

    render:function() {
        return (
            <NavigationExperimental.Navigator  [//error in this line]
            initialRoute = {{id:1}}
            renderScene = {this._renderScene}
            configureScene = {this._configureScene} />
        );
    }
});
Run Code Online (Sandbox Code Playgroud)

未定义的错误 _reactNative.default.createElement

在此处输入图片说明

sdk*_*kcy 9

您从“react-native”导入了 React;

import React, {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  TouchableHighlight,
  AlertIOS,
  Dimensions,
  BackHandler,
  PropTypes,
  Component,
} from 'react-native';
Run Code Online (Sandbox Code Playgroud)

取而代之的是,您需要从“react”导入 React;

import React from 'react';
Run Code Online (Sandbox Code Playgroud)

当我们在渲染函数中使用 JSX 时,JSX 在后台运行React.createElement(...). 在你的代码中,React 没有定义。正因为如此,它给出了那个错误。

  • 这似乎是一个愚蠢的错误,但今天却发生在我身上。浪费了2个小时。谢谢 ;) (2认同)