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

Reactjs 组件状态是否需要是单独的对象?,reactjs,Reactjs,我正在尝试建立一个信用卡信息表 看着所有的react代码,我觉得我应该这么做 getInitialState: function() { return { number: card.number, exp_month: card.exp_month, cvc: card.cvc error: card.error }; } 基本上是克隆我商店的一部分。 这样做的缺点是什么 getInitialState: function() { return

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

看着所有的react代码,我觉得我应该这么做

getInitialState: function() {
  return {
    number: card.number,
    exp_month: card.exp_month,
    cvc: card.cvc
    error: card.error
  };  
}
基本上是克隆我商店的一部分。 这样做的缺点是什么

getInitialState: function() {
  return card;
}

是否担心卡会在不知情的情况下更改?当卡数据发生变化时,我不会有设置状态的事件处理程序吗?

应该不会有问题,只要安装组件,就会调用
getInitialState
。要更改状态,您仍然需要调用
设置状态
函数,更改
对象不会有帮助

您可以这样做,但我不推荐这样做。当您显示初始状态时,代码将更加清晰。但有一点解释为什么可以这样做:

getInitialState()上的文档:

返回值将用作此.state的初始值

在setState下提到():

切勿直接对this.state进行变异,因为之后调用setState()可能会替换您所做的变异。将this.state视为不可变的


这意味着您的卡对象最初只用于定义状态一次,但之后状态将有不同的生活。

状态似乎指向与卡相同的对象(可以更改以反映两个位置的更改)。javascript中没有真正的对象复制。在我看来,这有点反模式:)我仍然更喜欢只有react组件拥有的对象,而不是其他的。