javascript - Bli varslet når ref.current endres i React


Finnes det en måte å få varsling på når ref.current endres i React? Som koden nedenfor.

const ref = useRef(0);

// pseudo code
ref.addCallback((newValue)=> {
  // notified
});

ref.current = 1; // triggers the notification.

Svar #1

Du kan bruke useCallback-hooken slik:

const onChange = useCallback(value => {
   if(value) {
      // do whatever you want
   }
}, []);

Og send funksjonen til ref-egenskapen:

<div ref={onChange}></div>

Merk at dette ennå ikke utløser gjengivelser på nytt. Du må sette value til en tilstand.

Svar #2

Du kan bruke et bibliotek som Observable Slim

Her er et eksempel på hvordan du ville bruke det:

ObservableSlim.create(ref.current, true, function(changes) {
    console.log(JSON.stringify(changes));
});

Relaterte artikler