繁体   English   中英

从反应组件的数组类型状态属性中弹出的正确方法是什么?

[英]Proper way to pop from a react component's array-type state attribute?

假设我有一个反应组件,如:

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});
}

但它看起来很难看......我知道它有效但只是在编写代码时看代码本身会变得很烦人。

从数组类型反应组件状态弹出有什么好方法吗?

我实现了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)
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM