Codage des fonctions React pour obtenir et afficher des données provenant de sites Web tiers
<p>Aidez-moi à obtenir des informations de la blockchain et à les afficher dans le navigateur. Je veux savoir comment appeler cette fonction ThirdWeb dans React.
Le code ci-dessous est le code Solidity utilisé pour créer des utilisateurs dans notre système. </p>
<pre class="brush:php;toolbar:false;">fonction createUser (mémoire de chaîne _userId, mémoire de chaîne _fName, mémoire de chaîne _lName, mémoire de chaîne _mobile, mémoire de chaîne _dob, uint256 _age, mémoire de chaîne _nationalité, mémoire de chaîne _gender ) publique {
if(!chkexisitinguserId(_userId)){
users[_userId] = User(_fName, _lName, _mobile, _dob, _age,_nationality,_gender);
noofUser++;
allUserId[k] = _userId;
k++;
}
}
la fonction getUser (mémoire de chaîne _userId) renvoie la vue publique (mémoire de chaîne, mémoire de chaîne, mémoire de chaîne, mémoire de chaîne, uint256, mémoire de chaîne, mémoire de chaîne) {
Mémoire utilisateur user = users[_userId];
return (user.fName, user.lName, user.mobile, user.dob, user.age, user.nationality, user.gender);
}</pré>
<p>Le code suivant est le code de la troisième bibliothèque Web qui interagit avec les contrats intelligents. Le code ci-dessous est stocké dans le fichier refer.js. </p>
<pre class="brush:php;toolbar:false;">import { useContract, useContractWrite } depuis "@thirdweb-dev/react";
exporter la fonction par défaut Component() {
const { contrat } = useContract("0xBB417720eBc8b76AdeAe2FF4670bbc650C3E791f");
const { mutateAsync : createUser, isLoading } = useContractWrite (contrat, "createUser")
const appel = async () =>
essayer {
const data = wait createUser([ "John0312", "John", "s", "8090890367", "03-11-2000", 20, "Inde", "M" ]);
console.info("succès des appels de contrat", données);
} attraper (erreur) {
console.error("échec de l'appel du contrat", err);
}
}
}
exporter la fonction par défaut Component() {
const { contrat } = useContract("0xBB417720eBc8b76AdeAe2FF4670bbc650C3E791f");
const { data, isLoading } = useContractRead (contrat, "getUser", _userId)
}</pré>
<p>Le contrat intelligent a été déployé sur ThirdWeb et tente d'y accéder. Je ne sais pas comment appeler cette fonction asynchrone "appeler" depuis app.js. </p>
<pre class="brush:php;toolbar:false;">importer React, { useEffect } depuis 'react'
fonction App(){
const handleclick = async (e) =>
attendre l'appel();
}
retour (
<button onClick={handleclick}>cliquez sur moi</button>
)
}
exporter l'application par défaut</pre>
<p>Il génère une erreur comme un appel de fonction non défini (). </p>