警告:React.createElement:类型不应为空、未定义、布尔值或数字

Warning: React.createElement: type should not be null, undefined, boolean, or number

本文关键字:未定义 布尔值 数字 createElement React 类型 警告      更新时间:2023-09-26

警告:React.createElement:类型不应为空,未定义,布尔值或数字。它应该是一个字符串(对于 DOM 元素)或一个 ReactClass(对于复合组件)。

我目前正在将一个反应页面放在一起,当我尝试使用 es2015 样式代码时遇到了上面的错误。当我使用以下代码时,出现错误

var React = require('react');
export default class StoreApp extends React.Component {
  getInitialState() {
    return null;
  }
  render() {
    return (
      <div>
        <p>This should display on the screen</p>
      </div>
    );
  }
}

这工作正常...

var React = require('react');
var StoreApp = React.createClass({
  render: function() {
    return (
      <div>
        <p>This should display on the screen</p>
      </div>
    );
  }
});
module.exports = StoreApp;

我使用以下预设的 babel ['反应','es2015'] 有什么想法吗?

在 es6 中,您不能使用 getInitialState() 。使用constructor() .

例如

constructor(props) {
  super(props);
  //Set your state here using this.state = {};
  //or leave blank if you don't want anything set in state
}

如果你没有把任何东西放在状态中,你甚至可以把构造函数留在 es6 类中。