Skip to content

Commit d63e85b

Browse files
committed
Merge pull request #175 from brigand/issue-170-dangerouslySetInnerHTML
Merge props passed to Link #170
2 parents a3885e1 + e3ba108 commit d63e85b

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

docs/api/components/Link.md

+4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ name through the link's properties to the resulting url.
2727
The className a `Link` receives when it's route is active. Defaults to
2828
`active`.
2929

30+
### *others*
31+
32+
You can also pass props you'd like to be on the `<a>` such as a title, id, or className.
33+
3034
Example
3135
-------
3236

modules/components/Link.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var ActiveState = require('../mixins/ActiveState');
33
var withoutProperties = require('../helpers/withoutProperties');
44
var transitionTo = require('../helpers/transitionTo');
55
var makeHref = require('../helpers/makeHref');
6-
6+
var hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
77
/**
88
* A map of <Link> component props that are reserved for use by the
99
* router and/or React. All other props are used as params that are
@@ -124,6 +124,13 @@ var Link = React.createClass({
124124
onClick: this.handleClick
125125
};
126126

127+
// pull in props without overriding
128+
for (var propName in this.props) {
129+
if (hasOwn(this.props, propName) && hasOwn(props, propName) === false) {
130+
props[propName] = this.props[propName];
131+
}
132+
}
133+
127134
return React.DOM.a(props, this.props.children);
128135
}
129136

0 commit comments

Comments
 (0)