Javascript 本机教程中的函数中断

Javascript 本机教程中的函数中断,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在尝试React Native,React组件(如getInitialState和componentDidMount)的函数正在崩溃。例如,我尝试: getInitialState: function() { return { movies: null, }; }, 坏了 当我将es6等效值放入时,即: constructor(props) { super(props); this.state = { movies: null,

我正在尝试React Native,React组件(如getInitialState和componentDidMount)的函数正在崩溃。例如,我尝试:

getInitialState: function() {
    return {
      movies: null,
    };
  },
坏了

当我将es6等效值放入时,即:

constructor(props) {
    super(props);
    this.state = {
      movies: null,
    };
}
程序运行良好。 最好的方法是什么,这样我就可以使用教程中提到的React函数,而不是将它们转换为es6


谢谢

我无法查看您的代码来查看组件是如何创建的,但我想我知道这里发生了什么

如果将组件设置为类:

class MyComponent extends React.Component {

}
只能使用构造函数设置初始状态:

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      movies: null,
    };
  }

  render() {
    return <View />
  }
}
类MyComponent扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ 电影:空, }; } render(){ 返回 } } 如果使用React.createClass设置组件,则只能使用getInitialState设置初始状态:

var MyComponent = React.createClass({
  getInitalState: function() {
    return {
      movies: null,
    }
  },
  render: function() {
    return <View />
  }
})
var MyComponent=React.createClass({
getInitalState:函数(){
返回{
电影:空,
}
},
render:function(){
返回
}
})
所有其他生命周期方法的工作方式都应该相同。请注意,如果您使用的是类,则在类中的每个函数后加逗号将中断应用程序

例如,这将中断:

class MyComponent extends React.Component {
  componentDidMount() {
    console.log("mounted")
  }, // <- No comma necessary
  render() {
    return <View />
  }
}
class MyComponent extends React.Component {
  componentDidMount() {
    console.log("mounted")
  }
  render() {
    return <View />
  }
}
var MyComponent = React.createClass({
  componentDidMount: function() {
     console.log("mounted")
  } // <- Needs a comma here.
  render: function() {
    return <View />
  }
})
var MyComponent = React.createClass({
  componentDidMount: function() {
     console.log("mounted")
  },
  render: function() {
    return <View />
  }
})
类MyComponent扩展了React.Component{ componentDidMount(){ 控制台日志(“已安装”)
},//这取决于您的组件是如何创建的。它是使用createClass还是class extends创建的?谢谢!抱歉,我没有包括如何设置组件。但这是重点。