Тип элемента JSX не имеет конструкции или подписи вызова - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь получить работу в своем приложении SPFX, и я уверен, что я не получаю правильный класс

Я попробовал свой код в JS и запустил его с установкой npm, и он работает нормально, но когда я пытаюсь сделать это в TS с spfx, я получаю эту ошибку:

import * as React from 'react';
import PropTypes from 'prop-types';



 export const Checkbox = ({ type = 'checkbox', checked = false, onChange, id }) => {

return <input id={id} type={type} checked={checked} onChange={onChange} />;
};

Checkbox.propTypes = {
type: PropTypes.string,
name: PropTypes.string.isRequired,
checked: PropTypes.bool,
onChange: PropTypes.func.isRequired,
};

и я называю это с:

return (
 <label style={{display: 'block'}} key={item.id}>
                            <Checkbox
                                style={{display: 'block'}}
                                checked={checked}
                                onChange={this.handleChange}
                                id={item.id}
                                statement={item.statement}
                            />
                            {item.statement}
                        </label> 

Моя точная ошибка: ошибка TS2604: тип элемента JSX 'Флажок' не имеет никакой конструкции или сигнатуры вызовов.

Есть идеи, умные люди?

1 Ответ

0 голосов
/ 13 января 2019

Поскольку вы не используете экспорт по умолчанию, вам нужно либо указать, какой компонент вы импортируете из модуля:

import { Checkbox } from './Checkbox

Или вы можете использовать экспорт по умолчанию и импортировать его, используя соответствующий синтаксис

const Checkbox = /* ... */
export default Checkbox;

import Checkbox from './Checkbox
...