Conversation
fabiolmorato
left a comment
There was a problem hiding this comment.
O projeto ficou bem escrito, organizado e legível. Levantei alguns pontos por comentários pelo Pull Request. Em geral, o grupo mostrou domínio dos conceitos apresentados em aula.
| let mounted = true; | ||
| const request = axios.get('https://mock-api.bootcamp.respondeai.com.br/api/v1/linkr/users/follows', token); | ||
| request.then(response =>{ | ||
| if(mounted)verifyFollowers(response.data.users); |
There was a problem hiding this comment.
Poderia ter colocado um espaço depois do parêntese do if, ficaria ainda mais legível :)
| const request = axios.get('https://mock-api.bootcamp.respondeai.com.br/api/v1/linkr/users/follows', token); | ||
| request.then(response =>{ | ||
| if(mounted)verifyFollowers(response.data.users); | ||
| }).catch(() => alert('erro')) |
There was a problem hiding this comment.
Este alert poderia ter uma mensagem mais descritiva. Não indica muito ao usuário ou ao desenvolvedor saber que aconteceu um erro sem especificá-lo.
| <Link to='/my-posts' onClick={() => setPage(0)}><li>My posts</li></Link> | ||
| <Link to='/my-likes'><li>My likes</li></Link> | ||
| <Link to='/'><li onClick={clearLocal}>Logout</li></Link> |
There was a problem hiding this comment.
Semanticamente, os filhos de um ul deveriam ser li. Por isso, Link deveria estar dentro de li, e não o contrário.
| } | ||
|
|
||
| function verifyLink(data){ | ||
| return data.includes('youtube'); |
There was a problem hiding this comment.
Esta lógica cobre mais casos que o desejado. Um link como http://en.wikipedia.org/wiki/youtube daria true.
| const [text, setText] = useState(''); | ||
| const [geoLocation, setGeoLocation] = useState({}); | ||
| const { token, user } = useContext(UserContext); | ||
| const [enable, setEnable] = useState(false); |
There was a problem hiding this comment.
Este estado tem o nome enable e é utilizada para controlar se um botão está desabilitado. Poderia se chamar disable.
| <InfiniteScroll | ||
| dataLength={posts.length} | ||
| next={() => { | ||
| setPage(page + 10); | ||
| }} | ||
| hasMore={posts.length < 10 ? false : true}> | ||
| {(posts.map((post) => <Post key={post.id} post={post} />))} | ||
| </InfiniteScroll> |
There was a problem hiding this comment.
Como este componente tem mais de uma linha, recomenda-se colocá-lo entre parênteses. Não colocar parênteses pode causar erros estranhos.
| } | ||
|
|
||
| return( | ||
| <EditContext.Provider value={{postEdit, editClick, editing, setEditing, textEdit, setTextEdit, postId, setPostId, modified, setModified, disabled, setDisabled}}> |
There was a problem hiding this comment.
Este objeto passado no value poderia ter sido dividido em linhas, para que ficasse mais legível e fácil de encontrar as partes.
No description provided.