组件状态是否需要是一个单独的对象?

时间:2014-12-31 07:21:36

标签: reactjs

我正在尝试建立信用卡信息表。

查看所有反应代码让我觉得我应该这样做

getInitialState: function() {
  return {
    number: card.number,
    exp_month: card.exp_month,
    cvc: card.cvc
    error: card.error
  };  
}

基本上克隆了我商店的一部分。 正在做什么的缺点

getInitialState: function() {
  return card;
}

卡片可能会在没有反应的情况下改变吗?当卡数据发生变化时,我的事件处理程序是否会设置为State?

2 个答案:

答案 0 :(得分:3)

你可以这样做,但我不推荐它。当您显示初始状态时,您的代码将更清晰。稍微解释为什么可以这样做:

getInitialState(source)上的文档:

  

返回值将用作this.state的初始值。

在setState下提到了source):

  

不要直接改变this.state,因为之后调用setState()可能会替换你所做的突变。把this.state看作是不可变的。

这意味着您的卡片对象最初用于定义状态,但之后状态会导致不同的生活。

答案 1 :(得分:0)

应该不是问题,只需在安装组件后调用getInitialState。要对状态进行查询,您仍然需要调用setState函数,更改card对象不会帮助