Ich möchte ein einfaches Formular erstellen, das eine E-Mail-Adresse aufnimmt und später zu unserer Datenbank hinzufügt. Ich bin mit React Forms gegangen, weil es den gesamten Entwicklungsprozess erleichtert und den Zeitaufwand reduziert.Sie müssen entweder handleSubmit() eine onSubmit-Funktion übergeben oder onSubmit als Prop | übergeben Redux-Formulare
aber wenn ich versuche, meine Form erhalte ich diesen Fehler POST: Uncaught Error: You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop
Hier ist mein AddUserForm.js:
import React from 'react'
import { Field, reduxForm } from 'redux-form'
const AddUserForm = ({ handleSubmit }) => {
return (
<form onSubmit={handleSubmit}>
<div>
<Field name="email" component="input" type="email" />
</div>
<button type="submit">Bjud in</button>
</form>
)
}
export default reduxForm({
form: 'addUser'
})(AddUserForm)
Hier ist meine addUserAction:
import axios from 'axios'
import settings from '../settings'
axios.defaults.baseURL = settings.hostname
export const addUser = email => {
return dispatch => {
return axios.post('/invite', { email: email }).then(response => {
console.log(response)
})
}
}
Und hier ist meine AddUserContainer.js :
import React, { Component } from 'react'
import { addUser } from '../../actions/addUserAction'
import AddUserForm from './Views/AddUserForm'
import { connect } from 'react-redux'
class AddUserContainer extends Component {
submit(values) {
console.log(values)
this.props.addUser(values)
}
render() {
return (
<div>
<h1>Bjud in användare</h1>
<AddUserForm onSubmit={this.submit.bind(this)} />
</div>
)
}
}
function mapStateToProps(state) {
return { user: state.user }
}
export default connect(mapStateToProps, { addUser })(AddUserContainer)
Ich bin wirklich dankbar für alle Antworten! Bleib großartig!
Hey mister passieren! Danke, dass Sie sich die Zeit genommen haben, meine Frage zu beantworten, obwohl mir das nicht geholfen hat. :( –
@ MartinNordström Hier ist ein gutes [Beispiel] (https://codesandbox.io/s/XoA5vXDgA) – Rowland