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

点击React的Card组件时如何传递相同数据到另一页面并展示

实现方法如下,两种常用方案可按需选择:


方案1:路由state传参(无需二次请求,刷新页面数据会丢失)

步骤1:修改Card组件Link传参

找到Card.js里的<Link to="/details">,修改为:

<Link 
  to="/details"
  state={{ currentApp: app }}
>

步骤2:详情页获取参数

在你的详情页组件中使用useLocation钩子获取传递的数据:

import React from 'react';
import { useLocation } from 'react-router-dom';

const DetailsPage = () => {
  const location = useLocation();
  // 拿到传递的卡片对应数据
  const appData = location.state?.currentApp;

  // 直接渲染数据即可
  return (
    <div>
      <h1>{appData?.name}</h1>
      <p>{appData?.type}</p>
      {/* 其他字段按需渲染 */}
    </div>
  );
};

export default DetailsPage;

方案2:动态路由传参(刷新页面数据不丢失,需要二次请求)

步骤1:配置动态路由

在你的路由配置文件中添加详情页的动态路由规则(以react-router-dom v6为例):

import { Routes, Route } from 'react-router-dom';
import DetailsPage from './DetailsPage';
// 其他组件导入

function App() {
  return (
    <Routes>
      {/* 你的其他原有路由 */}
      <Route path="/details/:appId" element={<DetailsPage />} />
    </Routes>
  );
}

步骤2:修改Card组件跳转链接

找到Card.js里的<Link to="/details">,修改为(这里假设你的每条app数据有唯一id字段,若无可以替换为其他唯一标识比如name):

<Link to={`/details/${app.id}`}>

步骤3:详情页获取参数并请求对应数据

在详情页组件中拿到id后请求对应数据再渲染:

import React, { useState, useEffect } from 'react';
import { useParams } from 'react-router-dom';
import axios from 'axios';

const DetailsPage = () => {
  // 拿到路由中的appId参数
  const { appId } = useParams();
  const [appData, setAppData] = useState(null);
  const url = 'https://blalalalalalla'; // 和Sidebar里的接口地址保持一致

  useEffect(() => {
    axios.get(url)
      .then(res => {
        // 过滤出对应id的app数据
        const targetApp = res.data.find(item => item.id === Number(appId));
        setAppData(targetApp);
      })
      .catch(err => console.log(err));
  }, [appId]);

  return (
    <div>
      {appData ? (
        <>
          <h1>{appData.name}</h1>
          <p>{appData.type}</p>
          {/* 其他字段按需渲染 */}
        </>
      ) : <p>加载中...</p>}
    </div>
  );
};

export default DetailsPage;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:24:03