From f8bcc2e3335acd4aa83818ac41bdf912e62a96e4 Mon Sep 17 00:00:00 2001 From: Nick Williams Date: Fri, 18 Jul 2014 16:14:55 +0100 Subject: [PATCH] Add note about key prop being excluded by cloneWithProps Whilst this is intentional behaviour (see #1274), it is not documented anywhere, so it is worth mentioning. It would also be nice if React issued a warning to console if a cloned component loses its key (as this will silently break reconciliation?) --- docs/09.5-clone-with-props.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/09.5-clone-with-props.md b/docs/09.5-clone-with-props.md index 0d466adf4..d6a4bc0ab 100644 --- a/docs/09.5-clone-with-props.md +++ b/docs/09.5-clone-with-props.md @@ -12,3 +12,9 @@ In rare situations a component may want to change the props of a component that #### `ReactComponent React.addons.cloneWithProps(ReactComponent component, object? extraProps)` Do a shallow copy of `component` and merge any props provided by `extraProps`. Props are merged in the same manner as [`transferPropsTo()`](/react/docs/component-api.html#transferpropsto), so props like `className` will be merged intelligently. + +**NOTE:** `cloneWithProps` does not transfer the `key` prop to the cloned component. If you wish to preserve the key, add it to the `extraProps` object: + +```js +var clonedComponent = cloneWithProps(originalComponent, { key : originalComponent.props.key }); +```