一般来说,最好在反应中使用破坏状态:
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>
}
重要吗?社区是否有整体偏好?对我来说,传入参数很容易阅读和理解,所以我不太清楚你在方法中封装状态会得到什么。
答案 0 :(得分:0)
完全取决于应用程序。因此,如果你有数据处于状态,那么你不需要将它作为参数传递,因为以结构化方式编写它是完全正确和干净的阅读。
const{ toggle, itemToSave} = this.state;
这里非常易读,您正在从状态中提取数据,并可以在代码中进一步使用它。
如果你有一个用例,使你在函数中需要的数据是你从中调用它的函数的一些局部变量,那么除了将它作为参数传递之外别无选择。
或者另一个用例是你想要使函数动态化,以便它可以根据状态数据或某些局部变量的数据做出决定,在这种情况下使用函数参数是有意义的。
因此,两者都有自己的应用程序和用例。两者都是更简洁的编码方式,易于阅读。