Size: a a a

2020 May 06

G

GNU/Vsevolod in React Kyiv
Eugene M
ну так диспозер остановит авторан
Я зрозумів. А є якийсь workaround, як поставити власний колбек на cleanup?
источник

EM

Eugene M in React Kyiv
рядом с диспосалом сделай то что в ретурне?
источник

EM

Eugene M in React Kyiv
function useMobxEffect(cb, deps) {
 useEffect(() => {
   const unsubs = mobx.autorun(cb);

   return () => {
     unsubs();

     // oher code here:
   };
 }, [cb]);
источник

G

GNU/Vsevolod in React Kyiv
Eugene M
function useMobxEffect(cb, deps) {
 useEffect(() => {
   const unsubs = mobx.autorun(cb);

   return () => {
     unsubs();

     // oher code here:
   };
 }, [cb]);
Ок, я думав, може є варіант зробити це прямо в колбеці, що повернеться з autorun
источник

G

GNU/Vsevolod in React Kyiv
Eugene M
function useMobxEffect(cb, deps) {
 useEffect(() => {
   const unsubs = mobx.autorun(cb);

   return () => {
     unsubs();

     // oher code here:
   };
 }, [cb]);
Наприклад, отак:

function useMobxEffect(cb, deps) {
 useEffect(() => {
   let cleanup = () => {};
   const dispose = autorun(() => {
     cleanup = cb();
   });
   return () => {
     dispose();
     cleanup();
   };
 }, [cb, ...deps]);
}
источник

EM

Eugene M in React Kyiv
а какая задача? удалять все ноды на анмаунте или удалять когда туду айтем удаляют?
источник

G

GNU/Vsevolod in React Kyiv
Eugene M
а какая задача? удалять все ноды на анмаунте или удалять когда туду айтем удаляют?
видаляти ту ноду, що замаунтили в ефекті
источник

G

GNU/Vsevolod in React Kyiv
Це для прикладу, щоб було видно, що клінап працює
источник

EM

Eugene M in React Kyiv
ну так их нужно куда-то сохранять эти ноды, в общем так не выйдет или я не до конца понял задачу
источник

G

GNU/Vsevolod in React Kyiv
Eugene M
ну так их нужно куда-то сохранять эти ноды, в общем так не выйдет или я не до конца понял задачу
Задача загалом написати useEffect, адаптований під mobx
источник

G

GNU/Vsevolod in React Kyiv
З таким же контрактом, що й useEffect
источник

EM

Eugene M in React Kyiv
ну ты их как-то смешал в данном случае
источник

EM

Eugene M in React Kyiv
юзеффект тут нужен только чтоб повесить авторан и почистить его
источник

EM

Eugene M in React Kyiv
а реалиацию “контракта” нужно уже отдельно думать
источник

EM

Eugene M in React Kyiv
перед каждым раном нужно ощищать то, что вернул старый, я не сильно понимаю зачем это 🙂
источник

G

GNU/Vsevolod in React Kyiv
Eugene M
перед каждым раном нужно ощищать то, что вернул старый, я не сильно понимаю зачем это 🙂
Якщо наприклад, в авторані вішаютсься лісенери на DOM, чи апі якесь? Side effects їх ще називають
источник

A

Alexey in React Kyiv
Ребят всем привет
с сервера получаю

<div id="Application">
   <div>Inner Content</div>
   <div>Inner Content</div>
   <div>Inner Content</div>
   <div>Inner Content</div>
</div>

как заставить реакт вывести внутренние блоки?
props.children не выводит их
источник

O

Oleks 🐟 in React Kyiv
Alexey
Ребят всем привет
с сервера получаю

<div id="Application">
   <div>Inner Content</div>
   <div>Inner Content</div>
   <div>Inner Content</div>
   <div>Inner Content</div>
</div>

как заставить реакт вывести внутренние блоки?
props.children не выводит их
как ты их получаешь и как ты их выводишь?
источник

A

Alexey in React Kyiv
Oleks 🐟
как ты их получаешь и как ты их выводишь?
вот так вывожу
https://gyazo.com/fcd18c4d1981e0fa25699e26c2a0b310

а получаю - сервером генерится html
источник

EM

Eugene M in React Kyiv
GNU/Vsevolod
Якщо наприклад, в авторані вішаютсься лісенери на DOM, чи апі якесь? Side effects їх ще називають
делаешь переменную вне авторана, ассайнишь туда в авторане функцию “клинап”, на каждом ране смотриешь если ли что-то в переменной, если есть то запускаешь, также нужно будет запусть когда диспозал делаешь
источник