Reactjs typescript中react组件中道具的简明易读语法

Reactjs typescript中react组件中道具的简明易读语法,reactjs,typescript,react-component,Reactjs,Typescript,React Component,因此,如果您声明了一个React.FC,那么您就可以执行一个类型声明,从而可以传递它: const FuntionalComponent: React.FC<personType> = ({ id, nationality, name, familyName, age, selected }) => <div> ...directly html </div> export default FuntionalCompone

因此,如果您声明了一个
React.FC
,那么您就可以执行一个类型声明,从而可以传递它:

const FuntionalComponent: React.FC<personType> = ({ id, nationality, name, familyName, age, selected }) =>

    <div>
       ...directly html
    </div>

export default FuntionalComponent;
正如你所看到的,我可以通过一个状态,但不能通过一个道具

如果我尝试这样的方法:

class Component extends React.Component<{propsProperty: Array}, {Stateproperty: string}>{
但是,它们会在以下条目中出错:

TS2322:类型“{propsProperty:any;}”不可分配给类型 '内部属性&{children?:ReactNode;}'。财产 “IntrinsicattAttributes&{children?”类型上不存在“tankData”: ReactNode;}

这些教程似乎表明没有其他方法来声明组件:

我在React中找到了这篇关于TypeScript错误的文章: ,但它没有我的问题

我还尝试了以下解决方案:。尽管这显然不是同一个问题,但它似乎有点接近,但没有帮助

React文档没有帮助,因为它们忽略了TypeScript,并且不是人类可读的

我需要一种既简洁又尊重类型脚本的方法,并在类主体中同时考虑道具和方法。这根本不存在吗

但是您不能在那里声明任何方法或使用钩子(我还没有找到一种方法)

声明FC的一个好的标准方法是:

type ComponentProps={
id:string,
国籍:弦,
...
}
常量MyComponent:React.FC=({
身份证件
国籍,
休息
}:ComponentProps)=>{
const someMethod=()=>{
log('I am console logging');
}
返回(
{/*在这里您将渲染内容*/}
)
}
请注意,在上面的示例中,我对props进行了解构,以便可以在组件中直接利用
id
national


在熟悉以上内容之前,我认为您不必太担心语法突出显示。

找不到名称“constructor”。为什么我不能放置方法?对不起,我的示例在
somethod
之前缺少
const
。如果这能解决你的问题,你能试试吗?对于有状态React组件的保留
构造函数
,功能组件不存在相同的构造函数,但您应该能够使用例如
useffect
hooks来重申相同的功能。什么?怎样?我不明白。例如,在第一次渲染时,您可以显示一些正在加载的渲染。挂载后,将调用所有
useffect(()=>{…},[])
。此模式可以用作
构造的替代品
。我得到一个运行时错误:
第10:27行:React钩子“useffect”在函数“carousel:React.FC”中调用,该函数既不是React函数组件,也不是自定义React钩子
为什么?
class Component extends React.Component<{propsProperty: Array}, {Stateproperty: string}>{
<Component propsProperty={thisArray} />