Merges multiple props objects together. Event handlers are chained, classNames are combined, and ids are deduplicated. 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 PropsArg [] > ( ...args: T ): UnionToIntersection <TupleTypes <T > >