Size: a a a

React: русскоязычное сообщество

2020 October 13

SP

Sergey Patrakeev in React: русскоязычное сообщество
хм, а я вот не сталкивался, буду знать
источник

_

_Nazarek_ in React: русскоязычное сообщество
это я использовал как пример, я там получаю
объект с апи, я убрал функцию с зависимости но state все равно null
источник

_

_Nazarek_ in React: русскоязычное сообщество
const [state, setState] = useState(null);

   useEffect(() => {
       const someobject = { state: 'state' }
       setState(...someobject);
       return () => {
           console.log(state); // null
       }
   }, []);
источник

A

Aleksandr in React: русскоязычное сообщество
а как вы с апи данные получаете? они точно есть так?
источник

A

Aleksandr in React: русскоязычное сообщество
setState({...someobject});
источник

A

Aleksandr in React: русскоязычное сообщество
что выведет console.log(someObject) переод setState?
источник

_

_Nazarek_ in React: русскоязычное сообщество
.then(
           (response) => {
               setState(JSON.parse(response.data));

           },
           (error) => {
               console.log(error);
           }
       )
источник

_

_Nazarek_ in React: русскоязычное сообщество
у меня что типа такого
источник

_

_Nazarek_ in React: русскоязычное сообщество
все работает, state не null  перед unmount но в return он null
источник

_

_Nazarek_ in React: русскоязычное сообщество
в документации пишет что можно решить проблему через useRef но я думаю это является костылем
источник

A

Aleksandr in React: русскоязычное сообщество
_Nazarek_
в документации пишет что можно решить проблему через useRef но я думаю это является костылем
источник

A

Aleksandr in React: русскоязычное сообщество
вот это вам нужно
источник

_

_Nazarek_ in React: русскоязычное сообщество
спасибо, но теперь у меня другая проблема, в компоненте state иногда изменяется и мне нужно делать отписку только тогда когда компонент удаляется а не при каждом изменении стейта
источник

A

Aleksandr in React: русскоязычное сообщество
а стоп
источник

A

Aleksandr in React: русскоязычное сообщество
он вроде и сделается только когда анмаунт будет
источник

_

_Nazarek_ in React: русскоязычное сообщество
useEffect(() => {
   if (swarm) {
     return () => swarm.close()
   }
 }, [swarm]) вот это делается при каждом изменении стейта
источник

_

_Nazarek_ in React: русскоязычное сообщество
useEffect(() => {
       const someobject = { state: 'state' }
       setState(...someobject);
       return () => {
           console.log(state); // null
       }
   }, []); а вот это только на анмаунт но уже стейт null
источник

A

Aleksandr in React: русскоязычное сообщество
ну вот вам надо обьеденить эти два подхода
источник

A

Aleksandr in React: русскоязычное сообщество
флаг как вариант добавить, но не уверен. что это правильно
источник

A

Aleksandr in React: русскоязычное сообщество
была бы песочница, было бы попроще, ни когда такой проблемы не было
источник