我有以下問題。 想象一下,我們有一個代表設備列表的應用程序 ,用戶也可以訪問單個設備的卡並查看關於它的全部信息。
我們的API如下所示:
對於列表:
[ { name: 'Device 1', id: 1 }, { name: 'Device 2', id: 2 }, { name: 'Device 3', id: 3 }, { name: 'Device 4', id: 4 } ]
對於單個設備:
{ name: 'Device 1', id: '1', elements: [{ type: 'switch', name: 'socket' }, { type: 'multilevel', name: 'bulb' }], room: { name: 'living', id: 2 } }
正如您所看到的,設備列表的api更輕量級。我們不想讓更多的數據庫請求列表,也不想強制用戶獲取不必要的數據列表。
現在,想象一下,在設備卡用戶可以編輯設備的「名稱」,例如。
我應該如何處理我的狀態? 我應該將這個狀態存儲在兩個地方嗎?
或者我應該處理我的狀態樹是這樣的: 應用程序讀取列表,每一個設備對象我標記爲「完成:假」
{ '1': { id: 1, name: 'Device 1', complete: false }, '2': { id: 2, name: 'Device 2', complete: false } }
但是,當用戶那張卡片,我們獲取整個設備數據,然後使用'complete'標誌等於'true'的列表對象進行賦值。 在兩個地方處理狀態的問題都消失了。
任何幫助將不勝感激。
謝謝你的幫助。它現在清楚了! – user6364326