【发布时间】:2018-04-18 12:20:15
【问题描述】:
我正在尝试使用 Typescript 以接受参数的方式设置 react-router。
在我的render 元素中,我有
<Route path="/show/:id" component={TestComp} />
我将TestComp定义为
const TestComp = ({ match }) => (
<div>
<h2>Showing specified ID: {match.params.id}</h2>
</div>
)
但是,VS Code 会在match 参数下划线(在TestComp 的声明中)并告诉我
绑定元素 'match' 隐含地具有 'any' 类型。
编译失败。
谁能告诉我应该声明什么类型match?我试过RouteProps 但这也不起作用。查看 index.d.ts,我认为它被定义为 match<P>,但我不确定如何将参数声明为泛型类型。
更新
根据@TarasPolovyi 的回答,我添加了以下内容:
如您所见,这仍然存在问题。
【问题讨论】:
-
您是否从
react-router导入了match?也许这可以解释你的一些错误。您还需要从TestComp声明类型。
标签: reactjs typescript react-router