反应类方法应该是纯粹的吗?

时间:2017-07-20 11:01:22

标签: javascript reactjs

我想知道我应该使用' this.props'和' this.state'在React类方法中,或者只从状态和props外部准备所需的数据,并将其作为参数传递给方法?

第一个选项看起来更快,但可能更容易出错。

2 个答案:

答案 0 :(得分:0)

它不容易出错,因为this.state和this.props是只读属性,因此您无法直接更改其值。

答案 1 :(得分:0)

我个人认为组件方法与javascript中的常用方法完全相同。对我而言,这意味着只要通过查看方法标题,我至少可以假设,基于名称和条目参数,具体方法负责什么。

第二件事是,它可以依赖于组件形状本身。

让我们假设您的组件中有一个名为' markPersonAsAbsent'的方法。

如果你的组件只处理一个人,那么事实上很明显我们应该运行像this.props.person这样的东西。

但是,如果您的组件更像是可以内联编辑的人员列表,而不仅仅是单个人的信息卡,那么我们确定我们希望将特定的人作为该方法的参数传递。

在那种情况下,当然我们可以争辩说组件设计错误,应该更加原子化,但只是想描述简单的例子。

所以我个人只是试着集中精力让我的组件可读,让我们说“可预测”。