From f3b4de844a387509e0458824aac9e93bd44664f5 Mon Sep 17 00:00:00 2001 From: Frankie Bagnardi Date: Wed, 6 Aug 2014 16:55:24 -0700 Subject: [PATCH] [added] support for extra props in Links, fixes #170 --- modules/components/Link.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/components/Link.js b/modules/components/Link.js index bf4141ddd4..6fa461af31 100644 --- a/modules/components/Link.js +++ b/modules/components/Link.js @@ -3,7 +3,7 @@ var ActiveState = require('../mixins/ActiveState'); var withoutProperties = require('../helpers/withoutProperties'); var transitionTo = require('../helpers/transitionTo'); var makeHref = require('../helpers/makeHref'); - +var hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty); /** * A map of component props that are reserved for use by the * router and/or React. All other props are used as params that are @@ -124,6 +124,13 @@ var Link = React.createClass({ onClick: this.handleClick }; + // pull in props without overriding + for (var propName in this.props) { + if (hasOwn(this.props, propName) && hasOwn(props, propName) === false) { + props[propName] = this.props[propName]; + } + } + return React.DOM.a(props, this.props.children); }