用了Component之后,this.state方法好像有问题了

#1
import React, { Component } from 'react';
import { Carousel } from 'react-bootstrap';

class HomeCarousel extends Component {
	getInitialState() {
		return {
			Carousels: []
		}
	}

	get_carousel_data() {
    return []
	}

	render() {
		return(
			<div>
				<Carousel>
          {
          	this.state.Carousels.map(function (item, index) {
              return (
                <Carousel.Item>
                </Carousel.Item>
            	)
          	})
          }
				</Carousel>
			</div>
		)
	}
}

export default HomeCarousel

#报错

TypeError: Cannot read property 'Carousels' of null
#2

Component方式之后,state的定义是放在构造函数中的

constructor(props){
  super(props);
  this.state={}
},

getInitialState 只是普通方法而已

#3

多谢,我想问下新手用create_class好还是extends Component好

#4

Component好些吧

#5

现在react官方已经移除了createClass,放到了一个独立的包react-create-class中,建议直接使用extends Component的方式

#6

楼上正解,用ES6类的方式定义组件,初始状态就不支持getinitalState方法了,需要在构造函数中初始化。新手不需要了解React底层只是使用的话用ES6的方式好,主要是因为现在版本都更新了。