mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-11 21:27:05 +00:00
useDeepEqualMemo hook implemented
This commit is contained in:
parent
9935f38987
commit
e13857d646
2 changed files with 16 additions and 0 deletions
|
|
@ -24,6 +24,7 @@ const useAnimationFrame = require('./useAnimationFrame');
|
|||
const useBinaryState = require('./useBinaryState');
|
||||
const useCoreEvent = require('./useCoreEvent');
|
||||
const useDeepEqualEffect = require('./useDeepEqualEffect');
|
||||
const useDeepEqualMemo = require('./useDeepEqualMemo');
|
||||
const useDeepEqualState = require('./useDeepEqualState');
|
||||
const useFullscreen = require('./useFullscreen');
|
||||
const useInLibrary = require('./useInLibrary');
|
||||
|
|
@ -60,6 +61,7 @@ module.exports = {
|
|||
useBinaryState,
|
||||
useCoreEvent,
|
||||
useDeepEqualEffect,
|
||||
useDeepEqualMemo,
|
||||
useDeepEqualState,
|
||||
useFullscreen,
|
||||
useInLibrary,
|
||||
|
|
|
|||
14
src/common/useDeepEqualMemo.js
Normal file
14
src/common/useDeepEqualMemo.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
const React = require('react');
|
||||
const isEqual = require('lodash.isequal');
|
||||
|
||||
const useDeepEqualMemo = (cb, deps) => {
|
||||
const valueRef = React.useRef(cb());
|
||||
const prevDepsRef = React.useRef(deps);
|
||||
if (!isEqual(prevDepsRef.current, deps)) {
|
||||
valueRef.current = cb();
|
||||
prevDepsRef.current = deps;
|
||||
}
|
||||
return valueRef.current;
|
||||
};
|
||||
|
||||
module.exports = useDeepEqualMemo;
|
||||
Loading…
Reference in a new issue