@@ -4,14 +4,15 @@ class BaseLink extends Component {
4
4
constructor ( props , context ) {
5
5
super ( props , context ) ;
6
6
7
+ this . router = context . router ;
7
8
this . isActive = this . isActive . bind ( this ) ;
8
9
this . clickHandler = this . clickHandler . bind ( this ) ;
9
10
10
11
this . state = { active : this . isActive ( ) } ;
11
12
}
12
13
13
14
isActive ( ) {
14
- return this . props . router . isActive ( this . props . routeName , this . props . routeParams ) ;
15
+ return this . router . isActive ( this . props . routeName , this . props . routeParams ) ;
15
16
}
16
17
17
18
clickHandler ( evt ) {
@@ -23,19 +24,19 @@ class BaseLink extends Component {
23
24
}
24
25
}
25
26
26
- let comboKey = evt . metaKey || evt . altKey || evt . ctrlKey || evt . shiftKey ;
27
+ const comboKey = evt . metaKey || evt . altKey || evt . ctrlKey || evt . shiftKey ;
27
28
28
29
if ( evt . button === 0 && ! comboKey ) {
29
30
evt . preventDefault ( ) ;
30
- this . props . router . navigate ( this . props . routeName , this . props . routeParams , this . props . routeOptions ) ;
31
+ this . router . navigate ( this . props . routeName , this . props . routeParams , this . props . routeOptions ) ;
31
32
}
32
33
}
33
34
34
35
render ( ) {
35
- const { router , routeName, routeParams, className, activeClassName, children } = this . props ;
36
+ const { routeName, routeParams, className, activeClassName, children } = this . props ;
36
37
37
38
const active = this . isActive ( ) ;
38
- const href = router . buildUrl ( routeName , routeParams ) ;
39
+ const href = this . router . buildUrl ( routeName , routeParams ) ;
39
40
const linkclassName = ( className ? className . split ( ' ' ) : [ ] )
40
41
. concat ( active ? [ activeClassName ] : [ ] ) . join ( ' ' ) ;
41
42
@@ -45,9 +46,11 @@ class BaseLink extends Component {
45
46
}
46
47
}
47
48
49
+ BaseLink . contextTypes = {
50
+ router : PropTypes . object . isRequired
51
+ } ;
52
+
48
53
BaseLink . propTypes = {
49
- // route: PropTypes.object.isRequired,
50
- router : PropTypes . object . isRequired ,
51
54
routeName : PropTypes . string . isRequired ,
52
55
routeParams : PropTypes . object ,
53
56
routeOptions : PropTypes . object ,
0 commit comments