useEffect.js 466 B

1234567891011121314
  1. import * as React from 'react';
  2. /** As `React.useEffect` but pass origin value in callback and not need care deps length change. */
  3. export default function useEffect(callback, deps) {
  4. var prevRef = React.useRef(deps);
  5. React.useEffect(function () {
  6. if (deps.length !== prevRef.current.length || deps.some(function (dep, index) {
  7. return dep !== prevRef.current[index];
  8. })) {
  9. callback(prevRef.current);
  10. }
  11. prevRef.current = deps;
  12. });
  13. }