diff --git a/apps/react-redux/components/Link.js b/apps/react-redux/components/Link.js
index 6fb8c17..5899916 100644
--- a/apps/react-redux/components/Link.js
+++ b/apps/react-redux/components/Link.js
@@ -1,25 +1,35 @@
import React, { PropTypes } from 'react';
+import { actions } from 'redux-router5';
-function Link(props) {
- const { name, params, options, router, navigateTo } = props;
+function Link(props, context) {
+ const { name, params, options } = props;
+ const router = context.router;
+ const { dispatch } = context.store;
- const href = router.buildUrl(name);
- const onClick = () => navigateTo(name, params, options);
- const className = router.isActive(name, params) ? 'active' : '';
+ const href = router.buildUrl(name, params);
+ const onClick = () => dispatch(actions.navigateTo(name, params, options));
+ const className = props.className + (router.isActive(name, params) ? ' active' : '');
- return { props.children }
+ return { props.children };
}
Link.propTypes = {
- name: PropTypes.string.isRequired,
- params: PropTypes.object,
- options: PropTypes.object,
- navigateTo: PropTypes.func.isRequired
+ name: PropTypes.string.isRequired,
+ className: PropTypes.string,
+ children: PropTypes.element.isRequired,
+ params: PropTypes.object,
+ options: PropTypes.object,
};
+Link.contextTypes = {
+ router: PropTypes.object.isRequired,
+ store: PropTypes.object.isRequired,
+};
+
+
Link.defaultProps = {
- params: {},
- options: {}
+ params: {},
+ options: {},
};
export default Link;