11import React from 'react' ;
22
3- import LinksApp from 'components/LinksApp/LinksApp'
4-
53class Nav extends React . Component
64{
75 constructor ( props , context ) {
86 super ( props , context ) ;
9- this . toggleNav = this . toggleNav . bind ( this ) ;
7+ this . toggleNavStatus = this . toggleNavStatus . bind ( this ) ;
108 this . hide = this . hide . bind ( this ) ;
119 this . state = {
12- toggleNav : ''
10+ toggleNavStatus : ''
1311 } ;
1412 }
1513
14+ getChildContext ( ) {
15+ return {
16+ onClick : this . toggleNavStatus
17+ }
18+ }
19+
1620 hide ( e ) {
17- this . setState ( { toggleNav : '' } ) ;
21+ this . setState ( { toggleNavStatus : '' } ) ;
1822 }
1923
20- toggleNav ( ) {
21- let isActive = this . state . toggleNav ? '' : 'is-active' ;
22- this . setState ( { toggleNav : isActive } ) ;
24+ toggleNavStatus ( ) {
25+ let isActive = this . state . toggleNavStatus ? '' : 'is-active' ;
26+ this . setState ( { toggleNavStatus : isActive } ) ;
2327 }
2428
2529 render ( ) {
@@ -29,13 +33,12 @@ class Nav extends React.Component
2933 < div className = "nav-left" >
3034 < a className = "nav-item" href = "../index.html" > IClient</ a >
3135 </ div >
32- < span className = { `nav-toggle ${ this . state . toggleNav } ` } onClick = { this . toggleNav } >
36+ < span className = { `nav-toggle ${ this . state . toggleNavStatus } ` } onClick = { this . toggleNavStatus } >
3337 < span > </ span >
3438 < span > </ span >
3539 < span > </ span >
3640 </ span >
37- < div className = { `nav-right nav-menu ${ this . state . toggleNav } ` } >
38- < LinksApp hide = { this . hide } />
41+ < div className = { `nav-right nav-menu ${ this . state . toggleNavStatus } ` } >
3942 { this . props . children }
4043 </ div >
4144 </ div >
@@ -44,5 +47,9 @@ class Nav extends React.Component
4447 }
4548}
4649
50+ Nav . childContextTypes = {
51+ onClick : React . PropTypes . func
52+ } ;
53+
4754export default Nav ;
4855
0 commit comments