React-Native Navigation Experimental(NavigationStateUtils),使用切片的目的?

时间:2016-11-19 23:43:39

标签: javascript arrays facebook navigation react-native

在NavigationStateUtils.js上进行React-Native Navigation实验,

在此处使用切片的目的是什么,因为它返回相同的路径数组,即使未使用切片()也是如此。

enter image description here

https://github.com/facebook/react-native/blob/9ee815f6b52e0c2417c04e5a05e1e31df26daed2/Libraries/NavigationExperimental/NavigationStateUtils.js#L66

或者只是与pop一致。

enter image description here

1 个答案:

答案 0 :(得分:2)

目的可能是在修改state.routes数组之前创建它的副本,以免改变state.routes引用的原始数组。保持数据结构不可变(通过制作您修改的副本而不是修改原始数据)可以帮助避免数组/对象/等时的意外错误。由代码的其他部分修改。它是函数式编程中常用的原理,是React通常遵循的范例。