es6箭头函数和this

 const Title=React.createClass({
         getDefaults: ()=> {
             return{
                 title:'hello world'
             }
         },
         render:()=>{

             return <h1>{this.props.title}</h1>
         }
     })
    ReactDOM.render(
            <Title/>,
            document.getElementById('app6')
    )
此种情况下报错:Cannot read property 'props' of undefined

**请问:

(1)此种情况下箭头函数和this是否可以一起使用?
(2)如果可以一起使用请问有何种解决方法?**
阅读 2.4k
2 个回答

可以改成

render() {
    console.log(this);
}

万恶的ES2015!!!
给你翻一下。

function template(config) {
  var self = this;
  Object.keys(config).forEach(function (key) {
    self[key] = config[key];
  });
}
function factory() {

}

factory.create = function (config) {
  return new template(config);
}
var instance = factory.create({
  title: 'instance1',
  method: () => {
    console.log(this);
  }
});
instance.method();
function template(config) {
  var self = this;
  Object.keys(config).forEach(function (key) {
    self[key] = config[key];
  });
}
function factory() {

}

factory.create = function (config) {
  return new template(config);
}
var instance = factory.create({
  title: 'instance1',
  method() {
    console.log(this);
  }
});
instance.method();

基础多看看,其实理解并不难

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题