首页 > 解决方案 > 反应破坏状态的方法与使用参数

问题描述

一般来说,在这样的反应中使用破坏状态会更好:

editSaveToggle () {
const{ toggle, itemToSave} = this.state
 return toggle ? 
<div><SaveView item = {itemToSave}/></div> : 
<div><EditView item = {itemToSave}/></div>
}

在更常规的参数使用上:

  editSaveToggle (itemToSave, toggle) {
    return toggle ? 
  <div> <SaveView item = {itemToSave}/></div> : 
  <div><EditView item = {itemToSave}/></div>
  }

有关系吗?整个社区有偏好吗?对我来说,传入参数很容易阅读和理解,所以我不太确定在方法中封装状态会得到什么。

标签: reactjs

解决方案


这完全取决于应用程序。因此,如果您的数据处于状态,那么您不需要将其作为参数传递,因为以解构方式编写它是完全可以读取的。

const{ toggle, itemToSave} = this.state;

从状态中提取数据并可以在代码中进一步使用它在这里非常易读。

如果您有用例,例如您在函数中需要的数据是您从中调用它的函数的某个局部变量,那么除了将其作为参数传递之外,您别无选择。

或者另一个用例是您想让函数动态化,以便它可以根据状态数据或某些局部变量的数据做出决策,在这种情况下使用函数参数是有意义的。

因此,两者都有自己的应用程序和用例。两者都是更简洁的编码方式并且易于阅读。


推荐阅读