Des documents pour la forme de réaction peuvent être trouvés here. J'ai des problèmes pour localiser où, et comment, une action POST à une URL est passée à la bibliothèque. J'ai une API qui attend les valeurs des entrées de formulaire, mais je n'arrive pas à comprendre comment j'obtiens réellement le composant à POST à un point de terminaison API spécifié par moi.Utilisation de la forme de réaction pour POST à une API?
Voici mon composant de formulaire:
import React, { Component } from 'react';
import { Form, Text, Select, Textarea } from 'react-form';
class DeploymentForm extends Component {
render() {
return (
<Form
onSubmit={(values) => {
console.log('Success!', values)
}}
validate={({ name }) => {
return {
name: !name ? 'A name is required' : undefined
}
}}
>
{({submitForm}) => {
return (
<div>
New STB Deployment
<form onSubmit={submitForm}>
<Text field='placeholder' placeholder='username'/>
<Text field='placeholder' placeholder='show'/>
<Text field='placeholder' placeholder='Git URL'/>
<Text field='placeholder' placeholder='Git Reference'/>
<Select
field='site'
options={[{
label: ''placeholder',
values: true
}]}
/>
<Select
field='Runway'
options={[{
label: 'Runway: stb',
values: true
}, {
label: 'Runway: stb2',
values: true
}, {
label: 'Runway: stb3',
values: true
}
]}
/>
<Select
field='Cluster: Default'
options={[{
label: 'placeholder',
values: true
}]}
/>
<Text field='hash' placeholder='placeholder' />
<Textarea
field='pre-deploy'
placeholder='placeholder'
<Textarea
field='post-deploy'
placeholder='placeholder'
/>
<Text field='placeholder' placeholder='placeholder'/>
<Text field='placeholder' placeholder='placeholder'/>
<button type='submit'>Submit</button>
</form>
</div>
)
}}
</Form>
)
}
}
export default DeploymentForm;
Intéressant. Merci de me donner des conseils sur mon chaos. Par curiosité, cependant, je ne suis toujours pas en train de relier les points à la façon dont j'envoie ces données à un point de terminaison d'URL. Serait-ce trop de problèmes pour en montrer un exemple? Merci beaucoup pour votre temps, d'ailleurs. – Lukon
Il serait plus facile pour vous d'utiliser la méthode $ .ajax POST à l'intérieur de handleSubmit. Ou vous pouvez également envisager d'utiliser axios (Toujours utiliser axios avec async wait suivant ES2017) – Aditya
Intéressant. J'ai utilisé Axios pour une requête HTTP, mais jamais pour un POST. Donc, fondamentalement, React ne vous permet pas de spécifier une action/méthode de formulaire et de gérer POSTS de cette façon? Pourquoi suis-je obligé de gérer moi-même cette information dans un gestionnaire d'événements? – Lukon