子组件是否应该在React中没有状态?我知道状态应该由"包装容器"维护。或父容器,它应具有单向流。我已经开始使用React并且拥有一个包含多达10个子组件的标头容器。
让我们说其中一个子组件是一个带有提交按钮的表单,可以启用或禁用。
这个子组件是否不能具有为按钮初始化状态的构造函数并且能够直接操作它,或者在包装容器中保持状态如此微小很重要"仅#34 ;
答案 0 :(得分:1)
您应该让父容器管理表单的状态。我通常会为每个输入附加一个onChange监听器,然后当单击提交按钮时,我调用父组件中的一个函数来提交表单输入状态中包含的值。表单应该只呈现输入而不执行任何其他操作,基本上是一个愚蠢的组件。
答案 1 :(得分:1)
React的目的是为前端提供组件系统。它确实不指定/强制执行状态流。人们通常更喜欢无状态组件,因为它更容易共享和分发。但是,前端组件永远不能完全无状态+声明。
在我看来,在您认为合适的时候,您可以随意使用this.state
来管理当地的州。