类型错误:在 createElement 上未定义 React 对象

IT技术 javascript reactjs tabs material-ui appbar
2021-05-24 06:38:20

我是新来的React,并Material UI和我试图创建一个AppBarTabs儿童。我目前的实现是这样的:

import {React, PropTypes, Component} from 'react';
import TodoTextInput from './TodoTextInput';
import injectTapEventPlugin from 'react-tap-event-plugin';
import baseTheme from 'material-ui/styles/baseThemes/lightBaseTheme'
import getMuiTheme from 'material-ui/styles/getMuiTheme'
import {Tabs, Tab} from 'material-ui/Tabs';
import {AppBar} from 'material-ui/AppBar';

const styles = {
  headline: {
    fontSize: 24,
    paddingTop: 16,
    marginBottom: 12,
    fontWeight: 400
  }
};

function handleActive(tab) {
  alert(`A tab with this route property ${tab.props['data-route']} was activated.`);
}
const defaultStyle = {
  marginLeft: 20
};

class Header extends Component {
  render() {
    return (
      <header className="header">
      <AppBar title="TEST" />
        <Tabs>
          <Tab label="Tab 1" >
            <div>

            </div>
          </Tab>
          <Tab label="Tab 2" >
            <div>

            </div>
          </Tab>
          <Tab label="Tab 3" >
            <div>

            </div>
          </Tab>
          <Tab label="Tab 4" >
            <div>

            </div>
          </Tab>
        </Tabs>
        {children}
      </header>
    );
  }
}

module.exports = Header;

我收到一个错误,指出:

TypeError: undefined is not an object (evaluating '_react.React.createElement')

我不确定如何解决这个问题。请帮忙!

3个回答

你导入 React 是错误的,但你已经接近了。将其更改为

import React, { PropTypes, Component } from 'react';

将 React 视为父级,将其他视为子级。你也可以只导入react并访问其他的React.PropTypesReact.Component

我收到错误:“ React.createElement 不是函数”,对于我的情况,修复方法是更改​​此内容:

import React from "react-native";

import React from "react";

谢谢,我通过将import React 从 'react-native'更改为import React from 'react' 来解决这个问题

我也面临同样的问题。这解决了它:

import React,{useState} from 'react'; //Right 
import {React,useState} from 'react-native'; //Wrong