Inscription avec Parse SDK sur React Native : Guide Complet
11 min
inscription des utilisateurs pour react native introduction au cœur de nombreuses applications, les comptes utilisateurs ont une notion qui permet aux utilisateurs d'accéder en toute sécurité à leurs informations parse fournit une classe utilisateur spécialisée appelée parse user qui gère automatiquement une grande partie des fonctionnalités requises pour la gestion des comptes utilisateurs dans ce guide, vous apprendrez comment \<font color="#2166ae">parse user\</font> fonctionne en créant une fonctionnalité d'inscription des utilisateurs pour votre application react native en utilisant le sdk js de parse prérequis pour compléter ce tutoriel, vous aurez besoin de une application react native créée et connectée à back4app https //www back4app com/docs/react native/parse sdk/react native sdk objectif créer une fonctionnalité d'inscription des utilisateurs en utilisant parse pour une application react native 1 comprendre la méthode signup la gestion des utilisateurs de parse utilise le \<font color="#2166ae">parse user\</font> type d'objet, qui étend le \<font color="#2166ae">parseobject\</font> par défaut tout en contenant des méthodes d'aide uniques, telles que \<font color="#2166ae">current\</font> et \<font color="#2166ae">getusername\</font> , qui vous aideront à récupérer les données utilisateur dans votre application vous pouvez en savoir plus sur l'objet \<font color="#2166ae">parse user\</font> ici dans la documentation officielle https //parseplatform org/parse sdk js/api/2 18 0/parse user html dans ce guide, vous apprendrez à utiliser la méthode \<font color="#2166ae">signup\</font> qui crée un nouvel objet \<font color="#2166ae">parse user\</font> valide et unique à la fois localement et sur le serveur, prenant comme arguments des valeurs valides de \<font color="#2166ae">username\</font> et \<font color="#2166ae">password\</font> 2 créer le composant d'enregistrement de l'utilisateur construisons maintenant le composant fonctionnel, qui appellera la \<font color="#2166ae">signup\</font> méthode dans notre application tout d'abord, créez un nouveau fichier dans votre répertoire racine appelé \<font color="#2166ae">userregistration js\</font> ( \<font color="#2166ae">userregistration tsx\</font> si vous utilisez typescript) et ajoutez également les éléments d'entrée nécessaires ( \<font color="#2166ae">username\</font> et \<font color="#2166ae"> password\</font> ), en utilisant des hooks d'état via \<font color="#2166ae">usestate\</font> pour gérer leurs données userregistration js 1 import react, { fc, reactelement, usestate } from "react"; 2 import { button, stylesheet, textinput } from "react native"; 3 import parse from "parse/react native"; 4	 5 export const userregistration = () => { 6 const \[username, setusername] = usestate(""); 7 const \[password, setpassword] = usestate(""); 8	 9 return ( 10 <> 11 \<textinput 12 style={styles input} 13 value={username} 14 placeholder={"username"} 15 onchangetext={(text) => setusername(text)} 16 autocapitalize={"none"} 17 /> 18 \<textinput 19 style={styles input} 20 value={password} 21 placeholder={"password"} 22 securetextentry 23 onchangetext={(text) => setpassword(text)} 24 /> 25 \<button title={"sign up"} onpress={() => {}} /> 26 \</> 27 ); 28 }; 29	 30 const styles = stylesheet create({ 31 input { 32 height 40, 33 marginbottom 10, 34 backgroundcolor '#fff', 35 }, 36 }); userregistration tsx 1 import react, { fc, reactelement, usestate } from "react"; 2 import { button, stylesheet, textinput } from "react native"; 3 import parse from "parse/react native"; 4	 5 export const userregistration fc<{}> = ({}) reactelement => { 6 const \[username, setusername] = usestate(""); 7 const \[password, setpassword] = usestate(""); 8	 9 return ( 10 <> 11 \<textinput 12 style={styles input} 13 value={username} 14 placeholder={"username"} 15 onchangetext={(text) => setusername(text)} 16 autocapitalize={"none"} 17 /> 18 \<textinput 19 style={styles input} 20 value={password} 21 placeholder={"password"} 22 securetextentry 23 onchangetext={(text) => setpassword(text)} 24 /> 25 \<button title={"sign up"} onpress={() => {}} /> 26 \</> 27 ); 28 }; 29	 30 const styles = stylesheet create({ 31 input { 32 height 40, 33 marginbottom 10, 34 backgroundcolor '#fff', 35 }, 36 }); 3 créer une fonction d'inscription vous pouvez maintenant créer la fonction d'inscription qui appellera la \<font color="#2166ae">signup\</font> méthode javascript 1 const douserregistration = async function () { 2 // note that these values come from state variables that we've declared before 3 const usernamevalue = username; 4 const passwordvalue = password; 5 // since the signup method returns a promise, we need to call it using await 6 return await parse user signup(usernamevalue, passwordvalue) 7 then((createduser) => { 8 // parse user signup returns the already created parseuser object if successful 9 alert alert( 10 'success!', 11 `user ${createduser getusername()} was successfully created!`, 12 ); 13 return true; 14 }) 15 catch((error) => { 16 // signup can fail if any parameter is blank or failed an uniqueness check on the server 17 alert alert('error!', error message); 18 return false; 19 }); 20 };1 const douserregistration = async function () promise\<boolean> { 2 // note that these values come from state variables that we've declared before 3 const usernamevalue string = username; 4 const passwordvalue string = password; 5 // since the signup method returns a promise, we need to call it using await 6 return await parse user signup(usernamevalue, passwordvalue) 7 then((createduser parse user) => { 8 // parse user signup returns the already created parseuser object if successful 9 alert alert( 10 'success!', 11 `user ${createduser getusername()} was successfully created!`, 12 ); 13 return true; 14 }) 15 catch((error object) => { 16 // signup can fail if any parameter is blank or failed an uniqueness check on the server 17 alert alert('error!', error message); 18 return false; 19 }); 20 }; remarque la création d'un nouvel utilisateur en utilisant \<font color="#2166ae">signup\</font> en fait également l'utilisateur actuellement connecté, donc il n'est pas nécessaire que votre utilisateur se reconnecte pour continuer à utiliser votre application insérez cette fonction à l'intérieur du \<font color="#2166ae">userregistration\</font> composant, juste avant l'appel à \<font color="#2166ae">return\</font> pour être appelée et testée n'oubliez pas de mettre à jour l'action du bouton d'inscription du formulaire \<font color="#2166ae">onpress\</font> à \<font color="#2166ae">() =\> douserregistration()\</font> et d'importer \<font color="#2166ae">alert\</font> depuis \<font color="#2166ae">react native\</font> votre composant devrait maintenant ressembler à ceci userregistration js 1 import react, { fc, reactelement, usestate } from "react"; 2 import { alert, button, stylesheet, textinput } from "react native"; 3 import parse from "parse/react native"; 4	 5 export const userregistration = () => { 6 const \[username, setusername] = usestate(""); 7 const \[password, setpassword] = usestate(""); 8	 9 const douserregistration = async function () { 10 // note that these values come from state variables that we've declared before 11 const usernamevalue = username; 12 const passwordvalue = password; 13 // since the signup method returns a promise, we need to call it using await 14 return await parse user signup(usernamevalue, passwordvalue) 15 then((createduser) => { 16 // parse user signup returns the already created parseuser object if successful 17 alert alert( 18 "success!", 19 `user ${createduser get("username")} was successfully created!` 20 ); 21 return true; 22 }) 23 catch((error) => { 24 // signup can fail if any parameter is blank or failed an uniqueness check on the server 25 alert alert("error!", error message); 26 return false; 27 }); 28 }; 29	 30 return ( 31 <> 32 \<textinput 33 style={styles input} 34 value={username} 35 placeholder={"username"} 36 onchangetext={(text) => setusername(text)} 37 autocapitalize={"none"} 38 /> 39 \<textinput 40 style={styles input} 41 value={password} 42 placeholder={"password"} 43 securetextentry 44 onchangetext={(text) => setpassword(text)} 45 /> 46 \<button title={"sign up"} onpress={() => douserregistration()} /> 47 \</> 48 ); 49 }; 50	 51 const styles = stylesheet create({ 52 input { 53 height 40, 54 marginbottom 10, 55 backgroundcolor "#fff", 56 }, 57 }); userregistration tsx 1 import react, { fc, reactelement, usestate } from "react"; 2 import { alert, button, stylesheet, textinput } from "react native"; 3 import parse from "parse/react native"; 4	 5 export const userregistration fc<{}> = ({}) reactelement => { 6 const \[username, setusername] = usestate(""); 7 const \[password, setpassword] = usestate(""); 8	 9 const douserregistration = async function () promise\<boolean> { 10 // note that these values come from state variables that we've declared before 11 const usernamevalue string = username; 12 const passwordvalue string = password; 13 // since the signup method returns a promise, we need to call it using await 14 return await parse user signup(usernamevalue, passwordvalue) 15 then((createduser parse user) => { 16 // parse user signup returns the already created parseuser object if successful 17 alert alert( 18 "success!", 19 `user ${createduser get("username")} was successfully created!` 20 ); 21 return true; 22 }) 23 catch((error object) => { 24 // signup can fail if any parameter is blank or failed an uniqueness check on the server 25 alert alert("error!", error message); 26 return false; 27 }); 28 }; 29	 30 return ( 31 <> 32 \<textinput 33 style={styles input} 34 value={username} 35 placeholder={"username"} 36 onchangetext={(text) => setusername(text)} 37 autocapitalize={"none"} 38 /> 39 \<textinput 40 style={styles input} 41 value={password} 42 placeholder={"password"} 43 securetextentry 44 onchangetext={(text) => setpassword(text)} 45 /> 46 \<button title={"sign up"} onpress={() => douserregistration()} /> 47 \</> 48 ); 49 }; 50	 51 const styles = stylesheet create({ 52 input { 53 height 40, 54 marginbottom 10, 55 backgroundcolor "#fff", 56 }, 57 }); 4 tester le composant la dernière étape consiste à utiliser notre nouveau composant dans votre application react native \<font color="#2166ae">app js\</font> fichier (ou \<font color="#2166ae">app tsx\</font> si vous utilisez typescript) app js 1 import { userregistration } from " /userregistration"; 2 / 3 your functions here 4 / 5 return ( 6 <> 7 \<statusbar /> 8 \<safeareaview style={styles container}> 9 <> 10 \<text style={styles title}>react native on back4app\</text> 11 \<text>user registration tutorial\</text> 12 \<userregistration /> 13 \</> 14 \</safeareaview> 15 \</> 16 ); 17	 18 // remember to add some styles at the end of your file 19 const styles = stylesheet create({ 20 container { 21 flex 1, 22 backgroundcolor "#fff", 23 alignitems "center", 24 justifycontent "center", 25 }, 26 title { 27 fontsize 20, 28 fontweight "bold", 29 }, 30 }); app tsx 1 import { userregistration } from " /userregistration"; 2 / 3 your functions here 4 / 5 return ( 6 <> 7 \<statusbar /> 8 \<safeareaview style={styles container}> 9 <> 10 \<text style={styles title}>react native on back4app\</text> 11 \<text>user registration tutorial\</text> 12 \<userregistration /> 13 \</> 14 \</safeareaview> 15 \</> 16 ); 17	 18 // remember to add some styles at the end of your file 19 const styles = stylesheet create({ 20 container { 21 flex 1, 22 backgroundcolor "#fff", 23 alignitems "center", 24 justifycontent "center", 25 }, 26 title { 27 fontsize 20, 28 fontweight "bold", 29 }, 30 }); votre application devrait maintenant ressembler à ceci après avoir fourni les identifiants d'utilisateur souhaités, vous verrez ce message après avoir appuyé sur \<font color="#2166ae">s'inscrire\</font> si tout a été réussi la gestion des erreurs peut être testée si vous essayez d'enregistrer un utilisateur avec le même nom d'utilisateur qu'auparavant vous obtiendrez une autre erreur si vous essayez de vous inscrire sans mot de passe conclusion à la fin de ce guide, vous avez appris comment enregistrer de nouveaux utilisateurs parse sur react native dans le prochain guide, nous vous montrerons comment connecter et déconnecter des utilisateurs