![]() |
忐忑的便当 · react-redux数据已经修改但界面没有 ...· 11 月前 · |
![]() |
气势凌人的太阳 · 又是一年跳槽季!如何快速定位数据库消耗CPU ...· 1 年前 · |
![]() |
英俊的椰子 · oracle一次性说清楚,多种分隔符的一个字 ...· 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 (