Тип недействителен - ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: объект - PullRequest
0 голосов
/ 07 октября 2019

Предупреждение: React.createElement: тип недопустим - ожидается строка (для встроенных компонентов) или класс / функция (для составных компонентов), но получено: object.

это компонент ContTypeAhead:

 <Typeahead
      id={this.props.name}
      name={this.props.name}
      onChange={this.changeHandler}
      onBlur={this.onBlurHandler}
      onInputChange={this.inputChangeHandler}
      options={this.state.typeAheadOptions}
      placeholder={'Type for ' + this.props.label}
      selected={this.state.selected}
    />

Использование вышеуказанного компонента в другом компоненте и код:

    <ContTypeAhead
      label="Autex"
      name="autex"
      id="autex"
      size="6"
      options={[]}
      url="settlements/getAutex"
      selected={this.state.autex}
      changed={this.autexChangedHandler}
      wrongSelectionHandler={this.wrongTypeAheadSelectionHandler}
      rightSelectionHandler={this.rightTypeAheadSelectionHandler}
    />;

Использование TypeScript с CRA. Определенный интерфейс реквизита и состояния с каждым полем как: любое;

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Это действительно раздражающие проблемы, но я решил их. Причина ошибки была в том, что Typeahead..., поэтому мы должны прежде всего включить @types с последней версией Typeahead. Четко проверьте используемые ключи, потому что «имя» не входит в состав Typeahead в новой версии. Так же, как календарь. Так возникла проблема. Удаление тех решило проблему.

Спасибо!

0 голосов
/ 07 октября 2019

Вы забыли объявить Ваш ContTypeAhead как функцию
.
const ContTypeAhead = props => {.
Или.
Класс.
class ContTypeAhead extends Component {.

Или вы не return(<ContTypeAhead />)

...