绑定元素“组件”隐式具有“任何”类型.ts [重复]
Posted
技术标签:
【中文标题】绑定元素“组件”隐式具有“任何”类型.ts [重复]【英文标题】:Binding element 'Component' implicitly has an 'any' type.ts [duplicate] 【发布时间】:2019-12-13 19:03:31 【问题描述】:这里是新手。我对以下代码有疑问。我想定义一个受保护的“仪表板”页面,如下所示,但是给了我这个绑定错误:
Binding element 'Component' implicitly has an 'any' type.ts(7031)
import * as React from "react";
import Route, Router, Redirect from "react-router-dom";
import Dashboard from "../features/dashboard";
import LoginContainer from "../features/login/containers/LoginContainer";
import SignUpContainer from "../features/signup/containers/SignUpContainer";
import createBrowserHistory from "history";
const history = createBrowserHistory();
export default () => (
<Router history=history>
<Route path="/" component=LoginContainer />
<Route path="/login" component=LoginContainer />
<Route path="/register" component=SignUpContainer />
<PrivateRoute path="/dashboard" component=Dashboard />
</Router>
);
function PrivateRoute( component: Component, ...rest )
return (
<Route
...rest
render=props =>
localStorage.getItem("MyStoredUser") ? (
<Component ...props />
) : (
<Redirect
to=
pathname: "/login"
/>
)
/>
);
基本上我使用的代码与此处相同:Protected routes and authentication with React Router v4 和 eact Router - Redirects
我做错了什么?
【问题讨论】:
【参考方案1】:您还没有定义任何类型,并且您显然已将 typescript 配置为禁止隐含任何参数。您需要添加类型以满足打字稿编译器:
import * as React from 'react';
import Route, Router, Redirect, RouteProps from 'react-router';
const PrivateRoute: React.FC<RouteProps> = ( component: Component, ...rest ) =>
return (
// ... etc
);
【讨论】:
以上是关于绑定元素“组件”隐式具有“任何”类型.ts [重复]的主要内容,如果未能解决你的问题,请参考以下文章
TS7053:元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“用户经济”
TypeScript - ts(7053):元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引
错误 TS2602:JSX 元素隐式具有类型“任何”,因为全局类型“JSX.Element”不存在
src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 > 隐式具有“任何”类型,因为类型“Foo”没有索引签名