繁体   English   中英

将jsx转换为React组件?

[英]Convert jsx to react component?

假设我有一个名为“ MyComponent”的组件,我想将其存储在打字稿中类型为“ MyComponent”的变量中,但使用JSX元素对其进行初始化,例如:

let comp: MyComponent = <MyComponent somePropInit={3} />

上面的代码生成如下错误:

类型“元素”中缺少“属性” componentDidMount”

我正在使用的实际组件:

export class PlayCard extends React.Component<AllCardProps, {}> {
    addToDeck(){...}

我如何存储它(我尝试了很多不同的事情,包括使用typeof,Card.PlayCard,PlayCard等):

import * as Card from './PlayCard'
...
let c: Card.PlayCard = <PlayCard Id={32} />

^如果我尝试以上操作,我会得到一个错误

类型'Component <...>'中缺少'属性'addToDeck'

如果删除addToDeck,错误将继续向下移动到下一个函数。 看起来任何存在的函数都会以某种方式抛出它吗?

我将如何完成?

React组件的生命周期方法是可选值。

以下是接口的示例:

interface ComponentLifecycle < P, S > {
    /**
     * Called immediately before mounting occurs, and before `Component#render`.
     * Avoid introducing any side-effects or subscriptions in this method.
     */
    componentWillMount ? () : void;
    /**
     * Called immediately after a compoment is mounted. Setting state here will trigger re-rendering.
     */
    componentDidMount ? () : void;

因此错误不在React / typescript中。 您可能使用了引起问题的界面。

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM