Je me sens fou de poser cette question ici, mais je ne peux pas trouver de bons tutoriels de bons tutoriels pour la façon de soumettre un formulaire et de capturer les données pour RN. Tout ce que je trouve est quelqu'un pousse une bibliothèque « juste NPM installer réagir-forme-genie-magie natif boîte et l'appeler dans votre projet » ...Comment soumettre un formulaire dans React Native
mais je veux juste savoir - Comment soumettre une forme dans la vanille Réagir natif.
Exemple de code:
AuthContainer
class AuthContainer extends Component {
render() {
const { errorMessage, handleLogin } = this.props
return (
<Login
errorMessage={errorMessage}
onLoginClick={(e) => handleLogin(e)}
/>
)
}
}
.....
const mapDispatchToProps = (dispatch) => {
return {
handleLogin: (e) => {
e.preventDefault()
const form = e.target
const data = serialize(form, {hash: true})
const creds = { email:data.email, password: data.password }
dispatch(loginUser(creds))
},
}
}
Connexion
import { Container, Content, Form, Item, Input, Label, Button, Text } from 'native-base';
....
const Login = ({errorMessage, onLoginClick}) => {
return (
<Container>
<Content>
<Form >
{errorMessage &&
<Text>{errorMessage}</Text>
}
<Item floatingLabel>
<Label>Email</Label>
<Input
type="email"
name="email"
/>
</Item>
<Item floatingLabel last>
<Label>Password</Label>
<Input secureTextEntry={true} />
</Item>
<Button onPress={onLoginClick} ><Text>Sign in</Text></Button>
</Form>
</Content>
</Container>
)
}
Question: Comment puis-je simplement saisir l'e-mail soumis et mot de passe en fonction handleLogin
de AuthContainer?
Ah intéressant. L'approche de RN consiste donc simplement à utiliser des entrées contrôlées à 100%, où vous sauvegardez les valeurs des entrées après chaque changement, et en appuyant sur le bouton, vous appelez simplement une fonction qui fait quelque chose avec ces données. J'allais pour une approche de saisie incontrôlée, mais cela fonctionnera. Merci pour la bonne réponse – tim5046