// Foo.jsx
import classes from './foo.module.css'
export const Foo = () =>{
return (
<div className={classes.wrapper}>
// code
</div>
)
}
// foo.module.css
.wrapper{
// code
}
useEffect(()=>{
// условие для отправки запроса
if(!loggedIn){
(async()=>{
await fetchRequest // в эту переменную войдут данные с сервера, которые в последующем можно обработать
// после обработки, сохранением в store или локальный state можно переключить флаг
setLoggedIn(true)
})()
}
},[loggedIn])
// есть еще такой вариант
useEffect(()=>{
// условие для отправки запроса
if (!loggedIn){
fetch('/some/url/here/',{options}).then(response=>response.json).then(response=>{
// обработка ответа сервера
// ........code
// после обработки, сохранением в store или локальный state можно переключить флаг
setLoggedIn(true)
})
// после обработки, сохранением в store или локальный state можно переключить флаг
setLoggedIn(true)
}
},[loggedIn])
"p" - это элемент массива, в данном случае объект с полями {id: Number, message: String, likesCount:Number}
все выше описанное делает одно и то же. Если передается два и более аргумента то скобки обязательны