mergeProps

Merges multiple props objects together. Event handlers are chained, classNames are combined, ids are deduplicated, and refs are merged. For all other props, the last prop object overrides all previous ones.

import {mergeProps} from '@react-aria/utils';

let a = {
  className: 'foo',
  onKeyDown(e) {
    if (e.key === 'Enter') {
      console.log('enter')
    }
  }
};

let b = {
  className: 'bar',
  onKeyDown(e) {
    if (e.key === ' ') {
      console.log('space')
    }
  }
};

let merged = mergeProps(a, b);

The result of the above example will be equivalent to this:

let merged = {
  className: 'foo bar',
  onKeyDown(e) {
    a.onKeyDown(e);
    b.onKeyDown(e);
  }
};

API

mergeProps<T extends []>(...args: T): <<T>>