We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.

marwa • 2 years ago

how can I convert this function (with solidity) to react js :

function get_message(string memory emitterID) public view returns (address, string memory, string memory, string memory, string memory){
return (allEmitters[emitterID].owner, allEmitters[emitterID].Message , allEmitters[emitterID].emitter_type, allEmitters[emitterID].Position, allEmitters[emitterID].DateAcquired );
}

SpiderSeb • 3 years ago

Bonjour,

Une petite erreur : il est indiqué que componentWillMount est appelé avant le constructeur. En réalité il est appelé après (comme on peut facilement s'en rendre compte avec un console.log dans chaque méthode).
La séquence est donc :
1 constructor
2 componentWillMount()
3 render()
4 componentDidMount()
...

D'autre part, le componentWillMount ne doit plus être utilisé, il serait intéressant de l'indiquer ;)

Benoît Hubert • 4 years ago
[...] on affiche la valeur de certaines variables dans la méthode render(). C'est la fonction qui fait appel aux méthodes de montage du cycle de vie.


C'est inexact : vous l'indiquez pourtant plus tard, c'est React lui-même qui appelle les méthodes de cycle de vie. Elles ne sont en aucun cas appelées depuis le render d'un composant (si on fait un throw new Error('error') depuis componentDidMount, on ne voit pas apparaître render dans la stack trace).

LaLikorne • 4 years ago

Attention, le componentWillMount est déprécié depuis quelques mois.

Yves-Martial • 4 years ago

Merci pour cet article, celà m'a vraiment aidé

Samuel KAMDOUM • 4 years ago

Très bon article merci...

Malkom • 4 years ago

Article très sympa.
Je me pose néanmoins une question : si je lance un setState dans un componentDidMount, le rerender se fait à la fin du componentDidMount ou à chaque setState ? En clair, si j'ai 3 setState dans mon componentDidMount, j'aurais 3 rerender ou 1 seul ?
De plus, si j'appelle une fonction dans mon componentDidMount et que cette fonction fait setState, le rerender se fait à quel moment ?

Parser.Error • 4 years ago

si tu fais 3 setState dans un componentDidMount on passera 3 fois dans le function, et aura exécuter un seul setState de cette function, à savoir le dernier setState, et ceci est valable dans le cas où les 3 setState sont tous différente ou bien identique. Donc en gros tu auras ton premier render initial suivis d'un autre render qui correspondra au dernier des 3 setState de la function componentDidMount