- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是使用Typescript进行React的新手,并且收到一条错误消息,指出
No overload matches this call. Overload 1 of 2, '(props: Readonly<{}>): IndexPage', gave the following error.
Type '{ notes: { 1: { _id: number; title: string; body: string; updatedAt: Date; }; }; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{}> & Readonly<{ children?: ReactNode; }>'. Property 'notes' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{}> & Readonly<{ children?: ReactNode; }>'. Overload 2 of 2, '(props: {}, context?: any): IndexPage', gave the following error. Type '{ notes: { 1: { _id: number; title: string; body: string; updatedAt: Date; }; }; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{}> & Readonly<{ children?: ReactNode; }>'. Property 'notes' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{}> & Readonly<{ children?: ReactNode; }>'.
**App.tsx**
//import statements
type Note={
notes: {
1: {
_id: number;
body:string;
title:string;
updatedAt: Date
}
} }
type State={notes: {[key:number]: Note} }
class App extends React.Component <State> {
state={
notes: {
1: {
_id:1,
title: "hello world",
body: "this is the body",
updatedAt:new Date()
}
}
}
render(){
return (
<div className="App">
<Nav/>
<Headers/>
<IndexPage notes = {this.state.notes}/>
</div>
);
}
}
export default App;
import React from 'react';
export default class IndexPage extends React.Component{
render(){
const notes=Object.values(this.props.notes);
return(
<div>
<h1> posts</h1>
<h2> {notes[0].title}</h2>
</div>
)
}
}
最佳答案
您必须在组件上指定 Prop 和状态类型:
应用程序
type Note = {
_id: number,
title: string,
body: string,
updatedAt: Date
}
type Props = {/*props properties*/}
type State = {
notes: {[key:number]: Note}
}
class App extends React.Component<Props, State>{
state={
notes: {
1: {
_id:1,
title: "hello world",
body: "this is the body",
updatedAt:new Date()
}
}
}
render(){
return (
<div className="App">
<Nav/>
<Headers/>
<IndexPage notes = {this.state.notes}/>
</div>
);
}
}
export default App;
//You should extract Note in other file and import it on both components
type Note = {
_id: number,
title: string,
body: string,
updatedAt: Date
}
type Props = {
notes: {[key:number]: Note}
}
export default class IndexPage extends React.Component<Props>{
render(){
const notes=Object.values(this.props.notes);
return(
<div>
<h1> posts</h1>
<h2> {notes[0].title}</h2>
</div>
)
}
}
关于reactjs - 使用React Typescript的状态: Property does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59595303/
我使用 react.js 一段时间了。最近,我开始看到如下错误: Type '{}' is not assignable to type 'IntrinsicAttributes & Intrinsi
我目前正在制作一个简单的 React 应用程序。这是我的 index.tsx import * as React from 'react'; import * as ReactDOM from 're
TypeScript 的新手,感觉它应该非常简单,但我对语法不太满意! 非常简单的组件: import * as React from "react"; import ControlArea from
我是使用Typescript进行React的新手,并且收到一条错误消息,指出 No overload matches this call. Overload 1 of 2, '(props: Read
我已经使用 typescript 创建了基本的 nextjs 应用程序 链接 - https://github.com/zeit/next.js/tree/master/examples/with-t
我正在尝试将 React 与 TypeScript 和 Material-UI 的组件一起使用。不幸的是,我收到了这样的错误: Property 'openToYearSelection' does
我正在开发一个使用 Typescript、React 和 Redux(全部在 Electron 中运行)的项目,当我将一个基于类的组件包含在另一个组件中并尝试在它们之间传递参数时,我遇到了一个问题。粗
我对 React 和 TypeScript 还很陌生。我正在 Visual Studio 2017 中开发一个网页,其中有一个搜索组件,我想在我的主页组件中使用它。但是在将搜索导入我的主组件后,我得到
我是 typescript 和 redux 的新手,我正在尝试使用 redux-form 中的 SimpleForm 示例。 我有以下表单组件 import * as React from 'reac
我有一个容器组件和一个表单组件: 表单组件: import * as React from 'react'; import { reduxForm, Field, InjectedFormProps
我是一名优秀的程序员,十分优秀!