从react组件'数组类型状态属性弹出的正确方式
Proper way to pop from a react component's array-type state attribute?
假设我有一个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});
}
但是它看起来很丑…我知道它是有效的,但是当我写这些代码时,仅仅看着代码本身就变得很烦人。
是否有很好的方式弹出从数组类型反应组件状态?
我像
那样实现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)
});
}
相关文章:
- 为Google闭包类定义属性的首选方式是什么
- 向插件添加属性(不是默认方式)
- 使用 onChange 属性以内联方式更改复选框的值
- 为什么某些Javascript属性没有在调试器中以交互方式显示
- 在Javascript构造函数中定义属性的正确方式
- 如何生成一个正则表达式,用以这种方式命名的类的属性值替换标记{{name}}
- 以编程方式为传单地图上的标记提供数据属性
- BackboneJS重新排列集合中模型的最佳方式,同时为每个模型维护0索引的有序属性
- 复制元素的最佳方式是:只复制元素的类型和属性
- 如何以编程方式获取属性Id、视图Id和帐户Id
- 如何以编程方式展开/折叠属性
- 使用方法和属性定义javascript对象的最佳方法是什么?(如果可能以本机方式)
- 下划线/洛达什号中的快捷方式,用于(递归)设置对象的所有属性
- 两个 JavaScript 对象具有相同的属性实现方式,但原型不同
- JavaScript 中通过公共属性“交叉”两个 JSON 对象数组的最佳方式
- Drupal 7 Field API:如何以编程方式发送表单元素属性 #ajax 指定的AJAX请求
- 无法设置未定义的 - 以编程方式创建的元素的属性 X
- 在循环或以其他方式动态创建 JSON 对象中的属性
- 更改属性 Javascript 方式的值
- 我怎么能加载数组的i18n字符串在javascript的属性方式