Javascript 如果initialState将有一个对象响应数组,那么它应该初始化为null还是空数组?

Javascript 如果initialState将有一个对象响应数组,那么它应该初始化为null还是空数组?,javascript,redux,Javascript,Redux,我正在构建一个小型照片共享应用程序,在我的照片中有以下initialState: { photos: null category: null } 从我的API中,我将收到如下响应: { category: 'Animals & Nature', photos: [{ id: 1001, url: 'cdn.url.com/img1001', title: 'dog' }, { id: 1002, url: 'cdn.url.com/img1002', title: 'c

我正在构建一个小型照片共享应用程序,在我的
照片中有以下
initialState

{
  photos: null
  category: null
}
从我的API中,我将收到如下响应:

{
  category: 'Animals & Nature',
  photos: [{ id: 1001, url: 'cdn.url.com/img1001', title: 'dog' }, { id: 1002, url: 'cdn.url.com/img1002', title: 'cat' }
}
既然
photos
将是一个对象数组,那么我的初始状态应该是
null
还是
[]

另外,如果我得到更多的照片,我需要把它们寄给州政府


如何最好地处理这种情况?

最好将数组初始化为
[]
,而不是
null
。这种方法有很多优点。至少有一个优点是-“您不能调用null object的方法(例如),您将无法检查值为null的数组的长度。但是,您确实可以检查空数组的值

var arr=[];

log(“数组长度-”+arr.Length);//Length-0
我对此进行了表决,但我要补充一点,如果
photos===null
photos,则初始化为
null
是有意义的。Length==0
具有不同的语义含义,例如,如果这两种状态区分未执行的查询和结果集为空的查询。