From 56306fdc8b77d0f9355c59c2aabf3515ef54e9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nucab=C3=A9?= <47301176+ManuelOrnelas@users.noreply.github.com> Date: Mon, 3 Jun 2019 15:35:06 +0100 Subject: [PATCH] dev: show Malik how to save informatin with local storage --- src/components/Applause.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/components/Applause.js b/src/components/Applause.js index 872b80d..49a54ea 100644 --- a/src/components/Applause.js +++ b/src/components/Applause.js @@ -3,13 +3,25 @@ import '../App.css'; class Applause extends React.Component { constructor() { - super (); - this.state = { - numOfClaps: 0 + super() + + let numOfClaps = 0 //Valor default + // O component acabou de inicializar. Vamos buscar a informacao e por numa variavel + let savedData = localStorage.getItem("numOfClaps") + // A saved data é uma string (local storage devolve sempre strings). Mas precisamos de converter para um numero + // Se savedData for null entao o numero default (0) ja esta bom. Nao precisamos de fazer nada + // Mas caso seja diferente de null como verificamos neste if. entao significa que tem la qualquer coisa que precisamos + if (savedData !== null) { + let numOfClaps = parseInt(savedData) + } + + this.state = { // Isto é shorthand syntax para "numOfClaps: numOfClaps", tanto faz. + numOfClaps } } - makeItClap () { + makeItClap () { // Aqui queremos nao so mostrar a alteracao como tambem gravar a mesma + localStorage.setItem("numOfClaps", this.state.numOfClaps + 1) this.setState({ numOfClaps: this.state.numOfClaps + 1 }) @@ -27,4 +39,4 @@ class Applause extends React.Component { } } -export default Applause; \ No newline at end of file +export default Applause;