# Combining > 👶 This feature is still quite young. We wanted to get it out there for people to play with `react-beautiful-dnd` supports the combining of ``s 🤩 ![combining](https://user-images.githubusercontent.com/2182637/48045145-318dc300-e1e3-11e8-83bd-22c9bd44c442.gif) > 🌲 If you are looking to build a tree view, we have built one already! [@atlaskit/tree](https://atlaskit.atlassian.com/packages/confluence/tree) ## Setup In order to enable combining you need to set `isCombineEnabled` to `true` on a `` and you are good to go! ```js ... ``` ## Behaviour When `isCombineEnabled` is set on a list _any_ item in the list can be combine with. You can toggle `isCombineEnabled` during a drag. `react-beautiful-dnd` works hard to ensure that users are able to combine and reorder within the same list in a way that feels intuitive and natural. ## Current limitations - No granular control over which items can be combined with within the list. We could move to the `isCombineEnabled` prop from a `` to a `` to allow this sort of customisation. However, in order to ship this huge feature we went a bit simplier to start with - A list must be reorderable to also have items that can be combined with. It is not possible for a list to be 'combine only' at this stage ## `` > `DraggableStateSnapshot` ```diff type DraggableStateSnapshot = {| isDragging: boolean, isDropAnimating: boolean, dropAnimation: ?DropAnimation, draggingOver: ?DroppableId, + combineWith: ?DraggableId, + combineTargetFor: ?DraggableId, mode: ?MovementMode, |}; ``` If you are dragging a `` over another `` in combine mode then the id of the `` being dragged over will be populated in `combineWith` If a `` is being dragged over in combine mode then the id of the `` being dragged will be populated in `combineTargetFor` ## `` > `Responders` `onDragUpdate` and `onDragEnd` will be updated with any changes to a `combine` > See our [type guide](/docs/guides/types.md) for more details ## Persisting a `combine` A `combine` result might signify different operations depending on your problem domain. When combining, a simple operation is to just remove the item that was dragging ```js function onDragEnd(result) { // combining item if (result.combine) { // super simple: just removing the dragging item const items: Quote[] = [...this.state.items]; items.splice(result.source.index, 1); setState({ items }); return; } } ``` ## Drop animation One of the goals of `react-beautiful-dnd` is to create a drag and drop experience that feels physical. This is a bit tricky to achieve in a generic way when it comes to combining two things. What we have gone for out of the box in the following animation: - move the dragging item onto the center of the item being grouped with - fade the opacity of the dragging item down to `0` - scale the dragging item down This animation attempts to communicate one item _moving into_ another item in a fairly generic way. ![combining](https://user-images.githubusercontent.com/2182637/48045145-318dc300-e1e3-11e8-83bd-22c9bd44c442.gif) You are welcome to customise this animation using the information found in our [drop animation guide](/docs/guides/drop-animation.md) [← Back to documentation](/README.md#documentation-)