![]() |
大鼻子的弓箭 · 巧用dynamic给对象字段动态赋值(经测试 ...· 1 年前 · |
![]() |
有腹肌的烈酒 · 基于 Docker 和 Flask ...· 1 年前 · |
![]() |
高大的小熊猫 · 机器学习需要的大量数据集从哪里找? - 知乎· 1 年前 · |
![]() |
彷徨的香菇 · JSON.stringify ...· 1 年前 · |
我有以下使用react-router-dom的组件:
<Route path='/restaurants/:id' render={props => (
<Restaurant {...props} user={user} />
)} />
现在,在我的
Restaurant.tsx
代码中,我似乎找不出什么类型应该是下面的
props
的正确类型:
const Restaurant = (props: RouteComponentProps<{id: string}>) => {
const a = props.match.params.id;
const b = props.user;
}
对于
RouteComponentProps<{id: string}>
类型,会为
a
分配一个没有错误的值。但是,
b
并非如此
Property 'user' does not exist on type 'RouteComponentProps<{ id: string; }, StaticContext, unknown>'
props
的类型应该是什么,这样我才能获得使用
props.user
传递给组件的额外属性
user={user}
,而不会出现任何类型错误?
发布于 2021-09-24 04:31:53
为
Restaurant
组件的属性声明接口,并扩展
RouteComponentProps
接口。
import React from 'react';
import { Route, RouteComponentProps } from 'react-router-dom';
interface RestaurantProps extends RouteComponentProps<{ id: string }> {
user: any;
const Restaurant = (props: RestaurantProps) => {
const a = props.match.params.id;
const b = props.user;
return <div>Restaurant</div>
const App = () => {
const user = {};
return (
![]() |
高大的小熊猫 · 机器学习需要的大量数据集从哪里找? - 知乎 1 年前 |