小编abh*_*bhi的帖子

在es6类中反应'这个'上下文

使用ReactJS的es6方法与类中的方法中的'this'关键字的上下文混淆

这给出了一个错误,无法获得未定义的引用

class AddItem extends React.Component {
    constructor() {
        super();
    }
    addIt(e) {
        e.preventDefault();
        let newItem = {
            title: this.refs.title.value
        }
        this.refs.feedForm.reset();
        this.props.addItem(newItem);
    }
    render() {
        return (
            <div>
              <form ref="feedForm" onSubmit={this.addIt}>
                <div className="input-group">
                  <span className="input-group-addon"><strong>Title:</strong></span>
                  <input ref="title" type="text" className="form-control" />
                </div>
                <button className="btn btn-success btn-block">Add Item</button>
              </form>
            </div>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎工作正常

class AddItem extends React.Component {
    constructor() {
        super();
        this.addIt = function(e) {
            e.preventDefault();

            let newItem = {
                title: this.refs.title.value
            }

            this.refs.feedForm.reset();
            this.props.addItem(newItem);
        }.bind(this)
    }

    render() {
        return …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

2
推荐指数
1
解决办法
332
查看次数

标签 统计

ecmascript-6 ×1

javascript ×1

reactjs ×1