@ vx / отзывчивый с TypeScript - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь использовать библиотеку @ vx / respive , чтобы получить родительский компонент.Итак, я это часть моего кода:

import * as React from 'react'
import { inject, observer } from 'mobx-react'
import { IGlobalStateable } from '../../stores/global'
const { withParentSize } = require('@vx/responsive')

interface Props extends IGlobalStateable {
  marginBottom: number,
  data: DataAnalysisType[],
}

@inject('globalState')
@withParentSize
@observer
export class SectionA extends React.Component<Props> {
  render() {
    const { parentWidth, data, marginBottom, globalState } = this.props

  }
}

Это ошибка, которую я получаю:

enter image description here

Ранее яиспользовал Javascript (не TypeScript) и все работало.

Любой совет приветствуется.Спасибо

1 Ответ

0 голосов
/ 15 октября 2018

Вызывайте компоненты высшего порядка как функции, а не как декораторы.В вашем случае, чтобы экспортировать упакованный класс под правильным именем, вам нужно определить его под другим именем, а затем сохранить результат вызова функций в константе с окончательным именем.

class OriginalSectionA extends React.Component<Props> {
  render() {
    const { parentWidth, data, marginBottom, globalState } = this.props

  }
}

export const SectionA = inject('globalState')(withParentSize(observer(OriginalSectionA)));
...