我正在尝试使 React 路由路径动态化,为此我需要向clickedSubprojectName
我的 routes.js 发送一个变量。
现在我的routes.js
样子是这样的:
import React from 'react';
const Projects = React.lazy(() => import('./views/Projects'));
const Subproject= React.lazy(() => import('./views/Subproject'));
const routes = [
{ path: '/projects', exact: true, name: 'Projects', component: Projects },
{ path: "/projects/subprojects", name: 'Subproject', component: Subproject},
];
export default routes;
在我的Projects.js
我创建了一个state variable
保存用户单击的子项目的名称。我想将此变量从我的 Projects 类传递给我的 routes.js 以便我可以在路由中设置路径,例如:
{ path: "/projects/"+clickedSubprojectName, name: 'Subproject', component: Subproject}
我已经尝试过Projects.js
像这样导出一个常量变量:
export const clickedSubprojectName={
clickedSubprojectName: this.state.clickedSubprojectName}
然后import { clickedSubprojectName} from './views/Subproject'
在我的 routes.js 中导入,但这并没有真正起作用。这会将 clickedSubprojectName 设置为第一次渲染 Projects 组件时状态变量的默认值,并且在状态变量更改时不会更新。
希望有人能解决这个问题,因为我还没有在stackoverflow上找到任何东西
谢谢