reactjs - 通过用户搜索处理从列表中排除项目的最佳方法是什么?
问题描述
假设我有一个项目列表,用户可以搜索该列表。该列表最多包含大约 100 个项目,所有数据在运行时都存在,因此在搜索时不需要发出 ajax 请求来获取新的列表项,我只需要过滤搜索词的所有现有项目。
如果我只是添加隐藏与搜索不匹配的列表项的类,性能会更好,还是在渲染方法中只渲染与搜索匹配的项目会更好。假设最初没有搜索并且所有项目都在装载时呈现,是否会因为它们与装载后的用户搜索词不匹配而删除项目比仅仅添加一个类来隐藏这些项目更昂贵?
项目上有点击处理程序,以防万一。
由于列表最多只有 100 个项目,我宁愿通过一个类隐藏它们,但不确定这是否真的是反应方式。
解决方案
我会重新渲染结果列表以仅显示列表中的匹配项。
隐藏不匹配的结果有几个缺点:
- 一个臃肿的 html 包含多达 100% 的项目,
display: none
以防搜索没有结果...... - 它可能更昂贵,因为您要重新渲染 html 以应用 css 类来隐藏项目
React 在更新 dom 方面很聪明,所以告诉他要隐藏哪些项目并不是真正的“反应方式”。只需发送新的项目列表,其中每个项目都有适当的密钥。
推荐阅读
- python - 函数参数-它的含义 def train(summary=False):
- vb.net - 从 VB 窗体获取外部应用程序中另存为对话框的句柄
- android - 如何将json字符串反序列化为数组
- javascript - 从 Javascript 表中设置选择选项的值和文本
- jquery - 条件格式表jquery
- javascript - 跨对象保持此上下文
- javascript - 如何将用户的图像设置为 chrome 扩展的背景
- java - 为什么kafka流重新处理broker重启后产生的消息
- jquery - 自动完成无法正确显示
- scala - 无法找到或加载主类 sbt-assembly 可执行 jar