首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类型脚本中反应模式

在类型脚本中反应模式
EN

Stack Overflow用户
提问于 2017-04-16 07:23:32
回答 2查看 7.5K关注 0票数 4

我使用的反应模式,使一个模式在打字稿的反应设置。

这是该模式的文件:

代码语言:javascript
复制
import * as React from 'react';
import * as ReactModal from 'react-modal';

class MyModal extends React.Component<any, any> {
  constructor () {
    super();
    this.state = {
      showModal: false
    };

    this.handleOpenModal = this.handleOpenModal.bind(this);
    this.handleCloseModal = this.handleCloseModal.bind(this);
  }

  handleOpenModal () {
    this.setState({ showModal: true });
  }

  handleCloseModal () {
    this.setState({ showModal: false });
  }

  public modalState () {
    const stateRef = this.state;
    return stateRef["showModal"];
  }

  render () {
    return (
      <div>
        <button onClick={this.handleOpenModal}>Trigger Modal</button>
        <ReactModal
          isOpen={this.modalState()}
          contentLabel="Minimal Modal Example"
        >
          <button onClick={this.handleCloseModal}>Close Modal</button>
        </ReactModal>
      </div>
    );
  }
}

我就是这样用它的:

代码语言:javascript
复制
import * as React from 'react';
import {UndoRedo} from './undo-redo';
import * as MyModal from './my-modal';

export class Header extends React.PureComponent<any, {}> {
  public render() {
    return (
      <header className="header">
        Header
        <UndoRedo/>
        <MyModal/>
      </header>
    );
  }
}

下面是我遇到的错误:

错误在./src/components/header/index.tsx (11,10):ERROR TS2604: JSX元素类型'MyModal‘中没有任何构造或调用签名。

我环顾四周,没有看到任何基于类的方法来处理同样的问题。我所看到的似乎是基于一个缺失的渲染功能。我确实试着公开了,但没什么用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-16 08:44:56

该错误消息意味着您正在不正确地导入它。您应该导出您的类并正确导入它。

代码语言:javascript
复制
export default class MyModal extends .... 

然后当你导入它时

代码语言:javascript
复制
import MyModal from './my-modal';
票数 2
EN

Stack Overflow用户

发布于 2018-07-30 12:36:22

您还可以尝试以下列方式导入React

代码语言:javascript
复制
import ReactModal = require('react-modal'); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43434806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档