Size: a a a

React — русскоговорящее сообщество

2021 February 13

Р

Ренат Форте... in React — русскоговорящее сообщество
Vladimir Klimov
А откуда его диспатчить?
Да хз. Если раньше с классами создавали контейнеры, которые занимались логикой, то щас, как я понял, всем плевать?))
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Ренат Форте
Да хз. Если раньше с классами создавали контейнеры, которые занимались логикой, то щас, как я понял, всем плевать?))
контейнеров больше нет
источник

A

A in React — русскоговорящее сообщество
const Feed = () => {
 const { token } = useContext(TokenContext);
 const [users, setUsers] = useState([]);

 useEffect(() => {
   const fetchAllUsers = async () => {
     console.log(localStorage.getItem("token"));
     const request = await fetch("/feed/users", {
       method: "GET",
       headers: {
         Authorization: Bearer ${token},
       },
     });
     const result = await request.json();
     setUsers(result.users);
     console.log(result);
     return;
   };

   fetchAllUsers();
 }, [users, setUsers, token]);

 return (
   <>
     <Filter></Filter>
     {users && users.map((user) => <UserCard user={user}></UserCard>)}
   </>
 );
};

может кто-то объяснить на этом примере, почему возникает  бесконечный цикл?
источник

Р

Ренат Форте... in React — русскоговорящее сообщество
Roman Usherenko
контейнеров больше нет
Отсюда и вопрос. Как постоупают разработчики в нынешних реалиях.
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Ренат Форте
Отсюда и вопрос. Как постоупают разработчики в нынешних реалиях.
если делаешь просто фичи, а не общие компоненты - юзаешь useSelector/useDispatch на том уровне, где тебе надо
источник

В

Влад in React — русскоговорящее сообщество
A
const Feed = () => {
 const { token } = useContext(TokenContext);
 const [users, setUsers] = useState([]);

 useEffect(() => {
   const fetchAllUsers = async () => {
     console.log(localStorage.getItem("token"));
     const request = await fetch("/feed/users", {
       method: "GET",
       headers: {
         Authorization: Bearer ${token},
       },
     });
     const result = await request.json();
     setUsers(result.users);
     console.log(result);
     return;
   };

   fetchAllUsers();
 }, [users, setUsers, token]);

 return (
   <>
     <Filter></Filter>
     {users && users.map((user) => <UserCard user={user}></UserCard>)}
   </>
 );
};

может кто-то объяснить на этом примере, почему возникает  бесконечный цикл?
По идее, юзеры обновляются и опять вызывается useEffect
источник

A

A in React — русскоговорящее сообщество
не обновляются
источник

В

Влад in React — русскоговорящее сообщество
A
const Feed = () => {
 const { token } = useContext(TokenContext);
 const [users, setUsers] = useState([]);

 useEffect(() => {
   const fetchAllUsers = async () => {
     console.log(localStorage.getItem("token"));
     const request = await fetch("/feed/users", {
       method: "GET",
       headers: {
         Authorization: Bearer ${token},
       },
     });
     const result = await request.json();
     setUsers(result.users);
     console.log(result);
     return;
   };

   fetchAllUsers();
 }, [users, setUsers, token]);

 return (
   <>
     <Filter></Filter>
     {users && users.map((user) => <UserCard user={user}></UserCard>)}
   </>
 );
};

может кто-то объяснить на этом примере, почему возникает  бесконечный цикл?
Нужно юзеров загружать при маунте компонента ?
источник

A

A in React — русскоговорящее сообщество
ну да
источник

В

Влад in React — русскоговорящее сообщество
[] вместо [users, setUsers, token]
источник

Р

Ренат Форте... in React — русскоговорящее сообщество
Roman Usherenko
если делаешь просто фичи, а не общие компоненты - юзаешь useSelector/useDispatch на том уровне, где тебе надо
Спс
источник

ВБ

Вова Белый in React — русскоговорящее сообщество
Как мне сделать такое же скрытие и перенос элементов как в хедере джиры, высчитывть просто через жс хватает ли пространства?
источник

A

A in React — русскоговорящее сообщество
Влад
[] вместо [users, setUsers, token]
ну есть же зависимости в примере
источник

ВЛ

Валерий Лукин... in React — русскоговорящее сообщество
A
ну есть же зависимости в примере
ну в них и дело, у тебя же в запросе срабатывает setUsers, он обновляет users, а они в свою очерез указаны как зависимость для юзЭффекта

ps если линтер просит зависимости это не всегда правильно
источник

y

ymdev in React — русскоговорящее сообщество
Вова Белый
Как мне сделать такое же скрытие и перенос элементов как в хедере джиры, высчитывть просто через жс хватает ли пространства?
Я бы это попробовал решить через css и media-запросы. Просто невидимые элементы переносятся на строку ниже, если не влазят.
источник

ВБ

Вова Белый in React — русскоговорящее сообщество
ymdev
Я бы это попробовал решить через css и media-запросы. Просто невидимые элементы переносятся на строку ниже, если не влазят.
Да я вот тоже такой бы что бы решить через медиа запросы, но там кнопка которая "ещё" как раз вмещает скрытые элементы в виде дропдауна,а изначально в джире они там не существуют в прицнипе
источник

В

Влад in React — русскоговорящее сообщество
A
ну есть же зависимости в примере
Вот, как пример
источник

y

ymdev in React — русскоговорящее сообщество
Вова Белый
Да я вот тоже такой бы что бы решить через медиа запросы, но там кнопка которая "ещё" как раз вмещает скрытые элементы в виде дропдауна,а изначально в джире они там не существуют в прицнипе
Иожно высчитывать конечно, и это был бы самый точный вариант.
А можно реально тупо отметки по размерам сделать типо
экран 1280 px => покажи все,
экран 1000 px => скрой 1 и добавить в плюсик
и т.д.
источник

ДЕ

Денис Екимов... in React — русскоговорящее сообщество
Всем привет. Дали ТЗ, в нем прилагается API, но проблем в том, что когда я пытаюсь сделать запрос, у меня вылазит данная ошибка, а если я делаю такой же запрос из Postman, то все нормально, в чем проблема и как это вообще решить?
источник

AE

Alexey Ermakov in React — русскоговорящее сообщество
Денис Екимов
Всем привет. Дали ТЗ, в нем прилагается API, но проблем в том, что когда я пытаюсь сделать запрос, у меня вылазит данная ошибка, а если я делаю такой же запрос из Postman, то все нормально, в чем проблема и как это вообще решить?
проблема в cors.
поискать, что такое cors и как это решается
источник