我正在构建一个小型照片共享应用程序,我的 photos
缩减器中有以下 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
还是[]
?
此外,如果我获得更多照片,我需要将它们连接到 state.photos..
这种情况如何最好处理?
最佳答案
最好将数组初始化为 []
而不是 null
。这种方法有很多优点。至少其中一个优点是 - “您无法调用 null 对象的方法(例如),您将无法检查值为 null 的数组的长度。但是,您确实可以检查空数组的值。
var arr = [];
console.log("Array Length - " + arr.length); //Length - 0
现在尝试下面的代码片段
var arr = null;
console.log("Array Length - " + arr.length); //Uncaught TypeError: Cannot read property 'length' of null
关于javascript - 如果initialState 将有一个对象响应数组,它应该初始化为 null 还是空数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43097277/