2017-10-11 41 views
1

我正在設計應用程序的Redux端,特別是我的狀態對象。Redux:用於存儲博客列表的數組或對象?

我會盡量使用POST API類似這樣的:

/api/posts 

與POST方法。

如果我遵循過去使用的規則,我最終會在我的全局狀態對象上顯示posts屬性和activePost屬性。

可能會由他們的職位reducer產生的posts屬性可能是一個數組,它將包含我在應用程序中擁有的所有不同職位的列表。

我想將我的帖子列表存儲在一個Object而不是數組中,並且完全消除了對activePost的需要。因此,它應該是這樣的:

{ 
    4: {title: 'Hello', id: 4, content: 'Hi', tags: 'greetings'}, 
    12: {title: 'Bye', id: 12, content: 'Bye', tags: 'greetings'}, 
} 

注意,這個對象裏面,我是說,關鍵是該職位的id和值是職位本身。所以對象從數字4開始,並在結束大括號處關閉。它的ID爲4,並使用4的密鑰,因爲它的帖子的ID。下面一個是同樣的事情。

這樣做的原因是爲了更容易找到我提取的所有帖子中的特定帖子。

即使有大量的帖子,這項工作是否可以工作?這是最佳做法嗎?爲什麼或者爲什麼不?如果這不起任何作用,請提供書面原因。謝謝。

+0

嘿,我不編輯權限。所以你可以請添加一些更多的標籤,像REDX,JavaScript。這樣它將會吸引更多的觀衆。謝謝 – vs1682

回答

0

我相信這是最好的實踐,其實是一個非常先進的概念。我聽到同事們說,一個數組最適合大數據集,但沒有太多文檔來支持他們的說法。

這可能需要一個非常具有挑戰性的重構的東西,如:

state.posts[postId] 

,這將返回給定的帖子,帖子ID從網址中的編號來了,然後使用該號碼查找反對許多不同職位的對象。

我的理解是,這是如何在生產中完成的,以及可以很好擴展的大型應用程序,所以它實際上可以處理大量數據。

相關問題