2016-06-18 13 views
1

Ich versuche redux-form (Ver 5.25) in meine react.js basierte Web-App zu integrieren, aber ich laufe in das folgende Problem mit dem simple sync validation redux-form example:redux-Formfehler: Elementtyp ist ungültig: erwartet einen String oder Funktion

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. 

Code:

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

In der benutzerdefinierten Formularkomponente (UserRegistrationForm), habe ich den folgenden Code:

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

Und in meiner Wurzel Reduzierungen, ich montierte redux-Form Minderer Form:

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

Also ich frage mich, was den Fehler mit dem Beispielcode oben verursacht. Ich denke, die Komponente Teil in Feld verursacht es, aber ich habe keine Ahnung, wie Sie es beheben. Jede Hilfe wird geschätzt!

Edit: Ein geeignetes Beispiel für die Verwendung des Fieldcomponent is here with material-ui, die ich etwas versuchen, ähnlich wie

+0

Wo wird '' Komponente deklariert? –

+0

Es gibt einen Import dafür: 'importieren {Feld} von 'redux-form';' – TonyGW

Antwort

1

ich dich nicht denken

import { Field } from 'redux-form' 

tun Scheint nicht So wird das aus diesem Paket exportiert. Aus diesem Grund erhalten Sie diese Ausnahme, da Field nicht definiert ist. Ich bin mir nicht sicher, was du mit redux-form machen willst, ich sehe nichts, was du in dem Tutorial machst, mit dem du verlinkt hast.

+0

danke, aber es gibt dieses Beispiel mit 'Feld' Komponente: http://redux-form.com/6.0.0-alpha.7/examples/material-ui/ – TonyGW

+3

Dieses Beispiel gilt für die Version 6.0.0, nicht für die Version 5.25. 6.0.0 hat Feld, aber es ist neu und es ist immer noch in Alpha: https://github.com/erikras/redux-form/releases –

+2

Ja, Sie mischen Syntax zwischen v5 und v6. –

Verwandte Themen