You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用React FAQ Component实现多分类FAQ展示

实现React多分类FAQ页面(基于react-faq-component)

我正在React项目中使用react-faq-component包创建FAQ页面,目前已实现单分类FAQ展示:

单分类FAQ展示效果

希望实现多分类的问答展示效果,预期如下:

多分类FAQ展示效果

修改后的代码实现

原库原生支持多分类结构,只需调整data的结构,将单一rows替换为categories数组即可:

import React, { useState } from 'react';
import FaqData from 'react-faq-component';

function Faq() {
  const [rows, setRowsOption] = useState(null);
  const data = {
    title: 'FAQ (分类展示)',
    // 用categories数组定义多分类
    categories: [
      {
        title: '账户相关',
        rows: [
          {
            title: 'How do I change my password?',
            content: `修改密码的步骤:进入账户设置页面,找到密码修改选项,输入原密码及新密码后提交即可。`,
          },
          {
            title: 'How do I sign up?',
            content:'注册流程:点击页面右上角注册按钮,填写邮箱、密码等信息,完成验证后即可创建账户。',
          },
        ],
      },
      {
        title: '订单相关',
        rows: [
          {
            title: '如何查询订单状态?',
            content: `登录账户后,进入「我的订单」页面,即可查看所有订单的实时状态。`,
          },
          {
            title: '如何申请退款?',
            content:'在订单详情页点击「申请退款」按钮,选择退款原因并提交,审核通过后退款将原路返回。',
          },
        ],
      },
    ],
  };

  return (
    <div>
      <h2 className="section-title">My FAQ's</h2>
      <div className="faq-style-wrapper">
        <FaqData data={data} getRowOptions={setRowsOption} />
      </div>
    </div>
  );
}

export default Faq;

其他可实现需求的库推荐

  • react-accessible-accordion:轻量级组件,专注无障碍访问支持,可灵活搭建多分类FAQ结构
  • react-collapse:基础折叠组件,自由度高,适合自定义多分类FAQ的样式和交互
  • Material UI Accordion:若项目已使用Material UI,可直接用官方的Accordion组件组合实现多分类FAQ

内容的提问来源于stack exchange,提问作者Garry S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 19:25:20