我已经查看了其他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>;
我对此很新,所以任何帮助都会受到赞赏。