From 2812477f61aa082f926027c3c9554ade2a02e672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Wed, 8 Sep 2021 10:00:50 +0200 Subject: [PATCH] Add more parameters to useForkRef --- packages/mui-utils/src/useForkRef.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/mui-utils/src/useForkRef.ts b/packages/mui-utils/src/useForkRef.ts index 8c53ccb3812596..e6e9da82532534 100644 --- a/packages/mui-utils/src/useForkRef.ts +++ b/packages/mui-utils/src/useForkRef.ts @@ -2,7 +2,10 @@ import * as React from 'react'; import setRef from './setRef'; export default function useForkRef( - ...refs: Array | null | undefined> + refA: React.Ref | null | undefined, + refB: React.Ref | null | undefined, + refC?: React.Ref | null | undefined, + refD?: React.Ref | null | undefined, ): React.Ref | null { /** * This will create a new function if the ref props change and are defined. @@ -10,14 +13,15 @@ export default function useForkRef( * with the ref. Cleanup naturally emerges from this behavior. */ return React.useMemo(() => { - if (refs.every((ref) => ref == null)) { + if (refA == null && refB == null && refC == null && refD == null) { return null; } + return (refValue) => { - refs.forEach((ref) => { - setRef(ref, refValue); - }); + setRef(refA, refValue); + setRef(refB, refValue); + setRef(refC, refValue); + setRef(refD, refValue); }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [...refs]); + }, [refA, refB, refC, refD]); }