【发布时间】:2017-05-29 07:21:19
【问题描述】:
我正在使用 React/Redux 构建一个网站框架,其中网站的配置采用 JSON 格式并加载到 Redux 存储中。该配置包含其他设置(如站点名称和 Google Analytics ID)、导航结构(如主导航、页脚导航和任何其他导航)和页面索引(最多可包含 1000 个页面)。
问题:构建此配置(特别是页面索引)以便最有效地解析它的最佳方式是什么?
有两种方法可以做到这一点:
-
相同对象的单个数组
[ { "id": 1, "url_slug": "about-us", "page_title": "About Us", "template": "about" }, { "id": 2, "url_slug": "careers", "page_title": "Careers at Company Name", "template": "default" } ]
使用这种方法,数据很好地打包在一个可预测的结构中,但是我需要解析一次数组(每次加载页面)以找到我想通过 url_slug 引用的对象的索引。
-
具有唯一键的对象
{ "about-us": { "id": 1, "page_title": "About Us", "template": "about" }, "careers": { "id": 2, "page_title": "Careers at Company Name", "template": "default" } }
使用此方法,我可以根据其键轻松引用我想要的对象,但对于大型站点,它会导致单个对象具有数百个键。
那么,哪个最适合性能?有区别吗?
【问题讨论】:
-
如果每次页面加载只需要访问一个对象,为什么每次都发送“数百个”对象?只需发送您需要的。
-
你有没有机会自己测试一下?
-
@Jordan 该对象每次访问加载一次。这个想法是应用程序可以立即对各种输入做出反应,而无需调用其他信息。
-
@maniak1982 不,我仍在构建框架。希望在进一步构建之前了解最佳实践。
标签: javascript json reactjs redux