将数组放入新组件时,对象不是函数错误

时间:2018-08-13 18:26:43

标签: reactjs

我有一个react应用,其中有一些滑雪日,其中包含一些滑雪旅行的信息:

    allSkiDays:[
      {
        resort: "Squaw Valley",
        date: new Date("12/24/2018"),
        powder: true,
        backcountry: false
      },
      {
        resort: "Val Thorens",
        date: new Date("12/22/2018"),
        powder: true,
        backcountry: true
      },
      {
      resort: "Val Desire",
      date: new Date("5/15/2018"),
      powder: false,
      backcountry: true
      },
      {
      resort: "Squaw Valley",
      date: new Date("1/18/2018"),
      powder: true,
      backcountry: false
      }
    ]
}

最初,它们被放置在我的App.js(主文件)中,我使用名为SkiDaysList的组件对其进行了声明

像这样:

<SkiDaysList ={(array inserted here)} />

我现在创建了一个名为classCreator的新组件,我想在其中存储数组,以便进行更好的代码练习:

export const classCreator = createClass({
  getInitialState(){
    return { (array put here)

  render() {
return (
  <div className="classCreator">
  </div>
)
  }

但是现在我收到此错误:

TypeError: Object(...) is not a function

在此行

export const classCreator = createClass({

编辑:这是我整个classCreator组件:

import {createClass} from 'react';

从'react'导入React,{组件};

 export const classCreator = createClass({
  getInitialState(){
 return {
   allSkiDays:[
      {
        resort: "Squaw Valley",
        date: new Date("12/24/2018"),
        powder: true,
        backcountry: false
      },
      {
        resort: "Val Thorens",
        date: new Date("12/22/2018"),
        powder: true,
        backcountry: true
      },
      {
      resort: "Val Desire",
      date: new Date("5/15/2018"),
      powder: false,
      backcountry: true
      },
      {
      resort: "Squaw Valley",
      date: new Date("1/18/2018"),
      powder: true,
      backcountry: false
      }
    ]
  }
},

  render() {
 return (
   <div className="classCreator">
   </div>
   )
 }


})

1 个答案:

答案 0 :(得分:0)

在React v15.5.0之后,createClass似乎仍然不是React软件包的一部分。

您应按照here

的说明从其自己的软件包var createReactClass = require('create-react-class'); 中导入它。