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} />