假设我有一个类似的react组件:

var MyComponent = React.createClass({
    getInitialState: function() {
        return {
            myStack: []
        };
    },

    ...

    pop: function(a) {
        // any concise , elegant way to pop from array type state?
    }
}

也许我可以写
pop: function() {
    var clone = _.clone(this.state.myStack);
    clone.pop();
    this.setState({myStack: clone});
}

但这看起来很丑...我知道它可以工作,但是当我编写这些代码时,仅看代码本身就很烦人。

有什么好方法可以从数组类型的 react 组件状态中弹出?

我实现了push()
push: function(a) {
    this.setState({myStack: this.state.myStack.concat([a])});
}

在一行中。

我相信pop也有一个不错的单行解决方案。

最佳答案

使用 Array.prototype.slice :

pop: function() {
  this.setState({
    myStack: this.state.myStack.slice(0, -1)
  });
}

关于javascript - 从 react 组件的数组类型状态属性弹出的正确方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32687713/

10-10 14:13