Skip to content

Conversation

@pedro-severo
Copy link

PR de correção. Não preicisa mergeear.

http://acoustic-church.surge.sh/

Comment on lines +24 to +29
mensagens: [
{
usuario: "",
conteudo: "",
},
],
Copy link
Author

@pedro-severo pedro-severo May 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lembrem-se de começar o array vazio mesmo, sem nenhum objeto. Para que não fique nenhum bug no layout de um objeto vazio renderizado. Então o estado inicial mensagens deve ser assim:

state = {
   mensagens: [],
   ...
}

}

const novasMensagens = [... this.state.mensagens, novaMensagem]
this.setState({mensagens: novasMensagens})
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Um dica de UX. Quando vcs setam o estado com o novo array de mensagens, seria legal vcs setarem os valores do input controlado do estado como uma string vazia, para que o usuário tenha o campo de mensagem limpado depois de enviar a mensagem:

this.setState({
   mensagens: novasMensagens,
   valorInputUsuario: "",
   valorInputConteudo: ""
})

Comment on lines +62 to +63
)
return (
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Atenção com a identação do código. A constante listaDeMensagens está no mesmo nível do return, portanto, elas devem ter a mesma margem. A princípio, isso pode parecer mero detalhe, mas quando vcs começarem a escrever códigos grandes, isso ajuda muito na leitura.

Comment on lines +54 to +55
render() {
const listaDeMensagens = this.state.mensagens.map((mensagem) => {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Atenção para a identação aqui também. Como a const listaDeMensagens está dentro do render(), é bom que a margem da constante seja um pouco maior do que a margem do render, e não a mesma.

Comment on lines +69 to +84
<form>
<InputUsuario
value={this.state.valorInputUsuario}
onChange={this.OnChangeInputUsuario}
placeholder={"Usuário"}
/>
<InputMensagem
value={this.state.valorInputConteudo}
onChange={this.OnChangeInputConteudo}
placeholder={"Mensagem"}
/>
<BotaoEnviar
onClick={this.novaMensagem}>
Enviar
</BotaoEnviar>
</form>
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mais uma chatice minha de identação haha. Mas o componente pai é o form, certo? Então, tudo que está dentro dele, tem que ter uma margem um pouco maior do que a do componente. Como eu disse, essa questão da identação pode parecer detalhe agora, mas lá na frente vcs vão ver que faz a diferença um código bem identado.

@pedro-severo
Copy link
Author

Oi, dupla! Fiz alguns comentários no código, peço que vcs deem uma olhada.

No geral, vcs estão de parabéns. Conseguiram aplicar o conteúdo que foi passado durante a semana e estão com um código bem legal.

Deem uma olhadinha especial no estado inicial mensagens, com um objeto vazio dentro do array. Isso tá gerando um buguizinho no layout que é facilmente resolvível, é só começar o estado com uma array totalmente vazio: []. Mas nada demais o bug, não muda o bom trabalho que fizeram.

Atenção para a identação do código também. Fiz alguns comentários ao longo do código sobre isso.

Parabéns!

@pedro-severo pedro-severo requested review from Camie-M and Luiz326 May 22, 2020 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants