mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-11 21:27:05 +00:00
22 lines
547 B
JavaScript
22 lines
547 B
JavaScript
const React = require('react');
|
|
const isEqual = require('lodash.isequal');
|
|
|
|
const useDeepEqualState = (initialState) => {
|
|
return React.useReducer(
|
|
(prevState, nextState) => {
|
|
return isEqual(prevState, nextState) ?
|
|
prevState
|
|
:
|
|
nextState;
|
|
},
|
|
undefined,
|
|
() => {
|
|
return typeof initialState === 'function' ?
|
|
initialState()
|
|
:
|
|
initialState;
|
|
}
|
|
);
|
|
};
|
|
|
|
module.exports = useDeepEqualState;
|