Skip to content

Commit

Permalink
Fix a doc. cloneWithProps clones a ReactElement.
Browse files Browse the repository at this point in the history
  • Loading branch information
koba04 committed Feb 20, 2015
1 parent d69329a commit 60e96ed
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
12 changes: 6 additions & 6 deletions docs/docs/10.5-clone-with-props.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
---
id: clone-with-props
title: Cloning Components
title: Cloning ReactElement
permalink: clone-with-props.html
prev: test-utils.html
next: update.html
---

In rare situations a component may want to change the props of a component that it doesn't own (like changing the `className` of a component passed as `this.props.children`). Other times it may want to make multiple copies of a component passed to it. `cloneWithProps()` makes this possible.
In rare situations a element may want to change the props of a element that it doesn't own (like changing the `className` of a element passed as `this.props.children`). Other times it may want to make multiple copies of a element passed to it. `cloneWithProps()` makes this possible.

#### `ReactComponent React.addons.cloneWithProps(ReactComponent component, object? extraProps)`
#### `ReactElement React.addons.cloneWithProps(ReactElement element, object? extraProps)`

Do a shallow copy of `component` and merge any props provided by `extraProps`. The `className` and `style` props will be merged intelligently.
Do a shallow copy of `element` and merge any props provided by `extraProps`. The `className` and `style` props will be merged intelligently.

> Note:
>
> `cloneWithProps` does not transfer `key` to the cloned component. If you wish to preserve the key, add it to the `extraProps` object:
> `cloneWithProps` does not transfer `key` to the cloned element. If you wish to preserve the key, add it to the `extraProps` object:
>
> ```js
> var clonedComponent = cloneWithProps(originalComponent, { key : originalComponent.key });
> var clonedElement = cloneWithProps(originalElement, { key : originalElement.key });
> ```
>
> `ref` is similarly not preserved.
2 changes: 1 addition & 1 deletion src/utils/cloneWithProps.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ var CHILDREN_PROP = keyOf({children: null});
* Sometimes you want to change the props of a child passed to you. Usually
* this is to add a CSS class.
*
* @param {ReactElement} child child component you'd like to clone
* @param {ReactElement} child child element you'd like to clone
* @param {object} props props you'd like to modify. className and style will be
* merged automatically.
* @return {ReactElement} a clone of child with props merged in.
Expand Down

0 comments on commit 60e96ed

Please sign in to comment.