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/useReactiveValue.js

19 lines
403 B

import { Tracker } from 'meteor/tracker';
import { useEffect, useState } from 'react';
export const useReactiveValue = (getValue, deps = []) => {
const [value, setValue] = useState(getValue);
useEffect(() => {
const computation = Tracker.autorun(() => {
const newValue = getValue();
setValue(() => newValue);
});
return () => {
computation.stop();
};
}, deps);
return value;
};