UNPKG

acud

Version:

acg react 组件库

28 lines • 874 B
import _extends from "@babel/runtime/helpers/esm/extends"; import * as React from 'react'; export default function useCacheDisplayValue(values) { var prevValuesRef = React.useRef(values); var mergedValues = React.useMemo(function () { // Create value - label map var valueLabels = new Map(); prevValuesRef.current.forEach(function (_ref) { var value = _ref.value, label = _ref.label; if (value !== label) { valueLabels.set(value, label); } }); var resultValues = values.map(function (item) { var cacheLabel = valueLabels.get(item.value); if (item.isCacheable && cacheLabel) { return _extends(_extends({}, item), { label: cacheLabel }); } return item; }); prevValuesRef.current = resultValues; return resultValues; }, [values]); return mergedValues; }