Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在react-typescript和json文件中创建动态页面_Reactjs_Typescript - Fatal编程技术网

Reactjs 如何在react-typescript和json文件中创建动态页面

Reactjs 如何在react-typescript和json文件中创建动态页面,reactjs,typescript,Reactjs,Typescript,我制作了一个应用程序,它有一个用户页面,每个用户都有自己的页面。这是我在app.tsx中的代码: import React from "react"; import { NavLink,Link, Route, BrowserRouter } from "react-router-dom"; import { Home, About, Contact, Courses, Blog, BlogDetail, CourseDet

我制作了一个应用程序,它有一个用户页面,每个用户都有自己的页面。这是我在app.tsx中的代码:

import React from "react";

import { NavLink,Link, Route, BrowserRouter } from "react-router-dom";

import {
  Home,
  About,
  Contact,
  Courses,
  Blog,
  BlogDetail,
  CourseDetail,
} from "./pages";

import { LayoutProvider } from "./layout";

interface AppProps {}

const users = [
  {
    name: `Param`,
  },
  {
    name: `Vennila`,
  },
  {
    name: `Afrin`,
  },
];

const UsersPage = () => {
  return (
    <>
      {
        users.map((user, index) => (
          <h5 key={index}>
            <Link to={`/user/${index + 1}`}>{user.name}'s Page</Link>
          </h5>
        ))
      }
    </>
  );
};

const UserPage = ({ match, location }) => {
  const { params: { userId } } = match;

  return (
    <>
      <p>
        <strong>User ID: </strong>
        {userId}
      </p>
      <p>
        <strong>User Name: </strong> 
        {users[userId - 1].name}
      </p>
    </>
  );
};

const App: React.FC<AppProps> = (props) => {
  return (
    <BrowserRouter>
      <LayoutProvider>
        <div className="content">
          <Route exact path="/" component={Home} />
          <Route path="/About" component={About} />
          <Route path="/Contact" component={Contact} />
          <Route path="/Courses" component={Courses} />
          <Route path="/Course-Detail" component={CourseDetail} />
          <Route path="/Blog" component={Blog} />
          <Route path="/Blog-Detail" component={BlogDetail} />

          <Link to="/users">Users</Link>
          <Route exact path="/users" component={UsersPage} />
          <Route exact path="/user/:userId" component={UserPage} />
        </div>
      </LayoutProvider>
    </BrowserRouter>
  );
};

export default App;
从“React”导入React;
从“react router dom”导入{NavLink,Link,Route,BrowserRouter};
进口{
家,
关于
联系方式,
课程,
博客,
博客细节,
长尾,
}从“/页”;
从“/layout”导入{LayoutProvider}”;
接口AppProps{}
常量用户=[
{
名称:`Param`,
},
{
姓名:`Vennila`,
},
{
姓名:`Afrin`,
},
];
const UsersPage=()=>{
返回(
{
users.map((用户,索引)=>(
{user.name}的页面
))
}
);
};
const UserPage=({match,location})=>{
const{params:{userId}}=match;
返回(

用户ID:
{userId}

用户名: {users[userId-1].name}

); }; 常量应用程序:React.FC=(道具)=>{ 返回( 使用者 ); }; 导出默认应用程序;
但这部分我有一个错误:

const UserPage = ({ match, location }) => {
  const { params: { userId } } = match;

  return (
    <>
      <p>
        <strong>User ID: </strong>
        {userId}
      </p>
      <p>
        <strong>User Name: </strong> 
        {users[userId - 1].name}
      </p>
    </>
  );
};
constuserpage=({match,location})=>{
const{params:{userId}}=match;
返回(

用户ID:
{userId}

用户名: {users[userId-1].name}

); };
如何将此部件转换为工作部件?使用匹配和位置时会出现以下错误:

  • 绑定元素“match”隐式具有“any”类型
  • 绑定元素“location”隐式具有“any”类型