获取错误“类型'{}'不能分配给'IntrinsicAttributes& IntrinsicClassAttributes .....”

时间:2018-01-15 15:47:32

标签: reactjs react-router

我已经查看了其他SO问题,并且找不到与我的问题类似的问题,所以这里有。

我使用Microsoft JavaScript Services创建了一个react-redux网站。我想手动将一个组件添加到项目中,这样我就可以了解事情的运作方式。

我使用我的组件创建了一个新的.tsx文件:

import * as React from "react";
import * as ReactDOM from "react-dom";

export default class ListingTitle extends React.Component {
    public render() {
        return (
            <div>
                <div className="col desktop-two-thirds tablet-half mobile-full">
                    <p id="carName" className="car-details-wrapper__car-name">
                        Fiat
                    </p>
                    <p className="car-details-wrapper__car-spec">
                        500
                    </p>
                </div>
            </div>
        );
    }
}

ReactDOM.render(
    <ListingTitle />,
    document.getElementById("react-listing-title")
);

在一个ASP.NET MVC视图文件中,我有一个名为“react-listing-title”的div,我希望这个React组件会注入其中。

问题是webpack步骤给了我这个错误:

  

[at-loader]中的错误./ClientApp/components/ListingTitle.tsx:23:5           TS2322:类型'{}'不能分配给'IntrinsicAttributes&amp; IntrinsicClassAttributes&amp;   Readonly&lt; {children?:ReactNode; } ...“。         类型“{}”不能分配给“Readonly&gt;”类型。           “{}”类型中缺少“匹配”属性。

我尝试改变类声明:

import { Link, RouteComponentProps } from "react-router-dom";

export default class ListingTitle extends React.Component<RouteComponentProps<{}>, {}>

但这也不起作用。模板项目附带路由器配置,我手动将我的自定义页面添加到:

import * as React from "react";
import { Route } from "react-router-dom";
import Counter from "./components/Counter";
import FetchData from "./components/FetchData";
import Home from "./components/Home";
import { Layout } from "./components/Layout";
import ListingTitle from "./components/ListingTitle";

export const routes = <Layout>
    <Route exact path="/" component={ Home } />
    <Route path="/counter" component={ Counter } />
    <Route path="/Details" component={ListingTitle} /> <-- This is my component
    <Route path='/fetchdata/:startDateIndex?' component={ FetchData } />
</Layout>;

我对此很新,所以任何帮助都会受到赞赏。

0 个答案:

没有答案