ошибки redux-form: недопустимый тип элемента: ожидается строка или функция

Я пытаюсь интегрировать redux-form (Ver 5.25) в свое веб-приложение на основе response.js, но столкнулся со следующей проблемой с простой пример сокращенной формы проверки синхронизации:

Uncaught (in promise) Error: Element type is invalid: expected a string 
(for built-in components) or a
 class/function (for composite components) but got: undefined.

Код:

<Field name="username" component = {username =>
  <div>
    <input type="text" {...username} placeholder="Username"/>
    {username.touched && username.error && <span>{username.error}</span>}
  </div>
}/>

В компоненте настраиваемой формы (UserRegistrationForm) у меня есть следующий код:

export default reduxForm({
    form: 'registrationForm',
    fields,
    validate,
})(UserRegistrationForm);

И в моих корневых редукторах я смонтировал редуктор в форме редукции в form:

form: formReducer,  // redux-form mounted at 'form'

Поэтому мне было интересно, что вызвало ошибку в приведенном выше примере кода. Я предполагаю, что часть компонента в Поле вызывает это, но я не знаю, как это исправить. Любая помощь приветствуется!

Изменить: подходящий пример использования Field компонент находится здесь с material-ui, и я пытаюсь сделать что-то похожее на


person TonyGW    schedule 18.06.2016    source источник
comment
Где объявлен <Field> компонент?   -  person Alexandr Lazarev    schedule 18.06.2016
comment
Для этого есть импорт: import { Field } from 'redux-form';   -  person TonyGW    schedule 18.06.2016


Ответы (1)


Я не думаю, что ты сможешь сделать

import { Field } from 'redux-form'

Не похоже, что это экспортировано из этого пакета. Вот почему вы получаете это исключение, поскольку поле не определено. Я не уверен, что вы пытаетесь сделать с помощью redux-form, я не вижу ничего похожего на то, что вы делаете в учебнике, на который вы ссылались.

person Ben Hare    schedule 18.06.2016
comment
спасибо, но есть этот пример с использованием компонента Field: redux-form .com / 6.0.0-alpha.7 / examples / material-ui. - person TonyGW; 19.06.2016
comment
Этот пример относится к версии 6.0.0, а не к версии 5.25. В 6.0.0 есть поле, но оно ново для этого и все еще находится в альфа-версии: github.com/erikras / redux-form / Release - person Ben Hare; 19.06.2016
comment
Да, вы смешиваете синтаксис между v5 и v6. - person Erik R.; 20.06.2016
comment
Я использую 8.2.0 и получаю ту же ошибку при использовании поля. - person Patrick W. McMahon; 03.06.2019