实现思路
- 使用
react-router-dom
提供的 useParams
钩子函数获取路由参数 :userId
。
- 利用
useEffect
钩子函数监听路由变化,当子路由发生变化时,触发数据更新操作。
关键代码
import React, { useEffect } from 'react';
import { useParams } from 'react-router-dom';
const UserProfile = () => {
const { userId } = useParams();
useEffect(() => {
// 在这里进行数据更新操作,比如发起 API 请求获取新数据
console.log(`子路由变化,userId: ${userId}`);
// 示例:假设这里有一个获取用户数据的函数 getProfileData
// getProfileData(userId);
}, [userId]);
return (
<div>
<h1>用户 {userId} 的个人资料页面</h1>
</div>
);
};
const UserOrders = () => {
const { userId } = useParams();
useEffect(() => {
// 在这里进行数据更新操作,比如发起 API 请求获取新数据
console.log(`子路由变化,userId: ${userId}`);
// 示例:假设这里有一个获取用户订单数据的函数 getOrderData
// getOrderData(userId);
}, [userId]);
return (
<div>
<h1>用户 {userId} 的订单页面</h1>
</div>
);
};