The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/client/hooks/useReactiveVar.ts

21 lines
531 B

import { ReactiveVar } from 'meteor/reactive-var';
import { Tracker } from 'meteor/tracker';
import { useEffect, useState } from 'react';
/** @deprecated */
export const useReactiveVar = <T>(variable: ReactiveVar<T>): T => {
const [value, setValue] = useState(() => Tracker.nonreactive(() => variable.get()));
useEffect(() => {
const computation = Tracker.autorun(() => {
const value = variable.get();
setValue(() => value);
});
return (): void => {
computation.stop();
};
}, [variable]);
return value;
};