当前位置:首页 > React

react filter如何使用

2026-02-26 07:50:08React

React Filter 的基本用法

在 React 中实现过滤功能通常涉及状态管理和数组操作。通过结合 useState 和数组的 filter 方法,可以轻松实现数据筛选。

定义一个状态来存储原始数据和过滤条件:

const [items, setItems] = useState([...]);
const [filterText, setFilterText] = useState('');

使用数组的 filter 方法根据条件筛选数据:

const filteredItems = items.filter(item => 
  item.name.toLowerCase().includes(filterText.toLowerCase())
);

输入框绑定与实时过滤

创建受控输入组件来触发过滤:

react filter如何使用

<input 
  type="text" 
  value={filterText}
  onChange={(e) => setFilterText(e.target.value)}
/>

渲染过滤后的结果:

{filteredItems.map(item => (
  <div key={item.id}>{item.name}</div>
))}

多条件过滤实现

对于更复杂的过滤需求,可以扩展过滤逻辑:

react filter如何使用

const [filters, setFilters] = useState({
  text: '',
  category: 'all'
});

const filteredItems = items.filter(item => {
  const matchesText = item.name.toLowerCase().includes(filters.text.toLowerCase());
  const matchesCategory = filters.category === 'all' || item.category === filters.category;
  return matchesText && matchesCategory;
});

性能优化技巧

对于大型数据集,考虑使用 useMemo 优化过滤计算:

const filteredItems = useMemo(() => {
  return items.filter(item => 
    item.name.toLowerCase().includes(filterText.toLowerCase())
  );
}, [items, filterText]);

自定义过滤钩子

封装可复用的过滤逻辑:

function useFilter(items, filterFn) {
  const [filter, setFilter] = useState('');

  const filteredItems = useMemo(() => {
    return items.filter(item => filterFn(item, filter));
  }, [items, filter, filterFn]);

  return [filteredItems, setFilter];
}

使用示例:

const [filteredItems, setFilter] = useFilter(items, (item, filter) => {
  return item.name.includes(filter);
});

分享给朋友:

相关文章

react实现vue

react实现vue

React 实现 Vue 功能 React 和 Vue 是两种不同的前端框架,但可以通过一些方法在 React 中实现 Vue 的特性。以下是几种常见 Vue 功能在 React 中的实现方式: 双…

如何创建react

如何创建react

创建React项目的步骤 使用Create React App工具快速搭建React项目。确保已安装Node.js(版本需≥14.0.0)和npm(版本需≥5.6)。 打开终端或命令行工具,运行以下…

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…

如何开发react

如何开发react

开发React应用的基本步骤 安装Node.js和npm 确保系统中已安装Node.js(包含npm)。可通过官网下载安装包,安装后验证版本: node -v npm -v 创建React项目…

react 如何启动

react 如何启动

创建 React 项目 使用官方工具 create-react-app 快速初始化项目,需提前安装 Node.js(版本 ≥ 14.0.0)和 npm/yarn: npx create-react-…

react项目如何

react项目如何

创建React项目 使用create-react-app工具快速初始化项目。确保已安装Node.js(建议版本≥12.0.0),运行以下命令生成新项目: npx create-react-app…