【发布时间】:2017-07-19 20:36:05
【问题描述】:
我有一个类,ElementBuilder 下面,当用户保存他们构建的Element 时,我希望将状态重置为下面的值。
我在这个类中有一些我没有提供但会改变title、size 和color 状态的函数。
在 ES 5 中,我的类中有一个 getInitialState 函数,并且可以在函数中调用 this.getInitialState()。
这个元素存在于我的应用程序中,用于登录用户的生命周期,我希望默认值始终保持不变,无论过去的使用情况如何。
如何在不编写设置默认值对象的函数的情况下实现这一点(或者也许这就是答案)?谢谢!
class ElementBuilder extends Component {
constructor(props) {
super(props);
this.state = {
title: 'Testing,
size: 100,
color: '#4d96ce',
};
}
resetBuilder() {
this.setState({ this.getInitialState() });
}
}
【问题讨论】:
-
你总是可以用初始值在类之外定义一个常量。然后使用它来初始化状态并在任何给定时间重置。
-
对于健壮的状态管理,请查看redux with redux,您可以轻松地执行各种操作,例如撤消、重做和时间旅行
标签: javascript reactjs ecmascript-6