Conversation
ElderGr
left a comment
There was a problem hiding this comment.
Fala Kleyton, tudo bem? Bora pra mais um code review!
Numa visão geral o projeto ficou com uma boa concisão, semântica e arquitetura geral do projeto. Tiveram alguns pontos que de melhoria que comentei e que caso tenha alguma dúvida fico a disposição para falar sobre 😀.
| const [counter, setCounter] = useState(0) | ||
|
|
||
| useEffect(() => { | ||
| let c = 0 |
There was a problem hiding this comment.
É legal deixar nomes de variaveis e parâmetros o mais descritivas possível, de forma que ao ler seja possível identificar oque a variável/parâmetro faz.
Esse comentário se aplica a outras situações.
| function formatDate(date) { | ||
| let string = '' | ||
| if (date.getDate().toString().length === 1) string += '0' | ||
| string += date.getDate().toString() | ||
| string += '/' | ||
| let month = date.getMonth() + 1 | ||
| if (month.toString().length === 1) string += '0' | ||
| string += month.toString() | ||
| string += '/' | ||
| string += date.getFullYear().toString() | ||
| return string | ||
| } No newline at end of file |
There was a problem hiding this comment.
Achei maneiro separar a formatação da data numa função dedicada a isso. Dessa forma conseguimos reaproveitar em outras partes do código e se necessário, mudar sem muita dor de cabeça.
| promise.then(response => { | ||
| setLoading(0) | ||
| setApi(response.data) | ||
| localStorage.setItem('user', JSON.stringify(response.data)) | ||
| navigate('/hoje') | ||
| }) | ||
| promise.catch(erro => { | ||
| setLoading(0) | ||
| alert(erro.response.data.details) | ||
| }) |
There was a problem hiding this comment.
Para evitar repetir o setLoading(0) tanto no .then quanto no .catch, podemos usar o .finally
promise.finally(() => setLoading(0))
O que estiver dentro do .finally é executado no final do then ou do catch (depende de qual for disparado).
| export default function getHabits(setHabitsToday, api){ | ||
| const promise = axios.get('https://mock-api.bootcamp.respondeai.com.br/api/v2/trackit/habits/today', | ||
| { headers: { Authorization: `Bearer ${api.token}` } }) | ||
| promise.then(response => { | ||
| setHabitsToday(response.data) | ||
| }) | ||
| promise.catch(erro => alert(erro.response.data.details)) | ||
| } No newline at end of file |
There was a problem hiding this comment.
Achei bem maneiro você separar a chamada da API numa função separada num único arquivo. Mais pra frente, vocês vão ver técnicas de arquitetura e reaproveitamento de código em que esse conceito de deixar a função fazendo uma única ação torna-se muito vantajoso, quando pensamos em manutenção de código.
No description provided.