Twitter bootstrap ReactJS-Scrollspy不';无法正确进行页面更改

Twitter bootstrap ReactJS-Scrollspy不';无法正确进行页面更改,twitter-bootstrap,reactjs,caching,scrollspy,Twitter Bootstrap,Reactjs,Caching,Scrollspy,这是我的index.js: var routes = require('./config/routes'); ReactDOM.render(routes, document.getElementById('app')); 以下是我的路线: var routes = ( <Router history={hashHistory}> <Route path='/' component={Main}> <IndexRoute component

这是我的
index.js

var routes = require('./config/routes');
ReactDOM.render(routes, document.getElementById('app'));
以下是我的路线:

var routes = (
  <Router history={hashHistory}>
    <Route path='/' component={Main}>
      <IndexRoute component={HomeComponent}/>
      <Route path='create' component={CreateComponent} />
    </Route>
  </Router>
);
如您所见,NavBarComponent和FooterComponent对于所有页面都是通用的。我的NavBarComponent有两种不同的样式,这取决于是否在主页上。以下是我为这两种情况提供的代码:

let className = props.onHome ?
                "navbar navbar-default navbar-fixed-top"
                : 
                "navbar navbar-default inner-header";
let role = props.onHome ? "navigation" : "";
let dataSpy = props.onHome ? "affix" : "";
let dataOffsetTop = props.onHome ? "100" : "";
return (       
  <nav id="mainNav" className={className} role={role} data-spy={dataSpy} data-offset-top={dataOffsetTop}>
  <!-- Some NavBar code -->
  </nav>
);
1)On Home page : 
1-1)case 1 : on top of screen 
<nav id="mainNav" 
     className="navbar navbar-default navbar-fixed-top affix-top" 
     role="navigation" 
     data-spy="affix" 
     data-offset-top="100">

1-2)case 2 : when scrolling down
<nav id="mainNav" 
     className="navbar navbar-default navbar-fixed-top affix"
     role="navigation" 
     data-spy="affix" 
     data-offset-top="100">

2)On Sign Up page : 
<nav id="mainNav" 
     className="navbar navbar-default inner-header" 
     role="" 
     data-spy="" 
     data-offset-top="">
让className=props.onHome?
“导航栏导航栏默认导航栏固定顶部”
: 
“导航栏导航栏默认内部标题”;
让角色=props.onHome?“导航”:“导航”;
让dataSpy=props.onHome?“附加”:;
让dataOffsetTop=props.onHome?"100" : "";
报税表(
);
除了url更改(从一个页面路由到另一个页面时),此代码工作正常。当打开主页(myUrl/)或注册(myUrl/signUp)时,它非常有效。但是,当从主站点到注册站点或从注册站点到主站点进行路由时,尽管navbar属性正在更新,但它保持相同的行为。我认为即使navbar属性被更新,它的行为也会被缓存

仅供参考,以下是两种情况下的导航栏属性:

let className = props.onHome ?
                "navbar navbar-default navbar-fixed-top"
                : 
                "navbar navbar-default inner-header";
let role = props.onHome ? "navigation" : "";
let dataSpy = props.onHome ? "affix" : "";
let dataOffsetTop = props.onHome ? "100" : "";
return (       
  <nav id="mainNav" className={className} role={role} data-spy={dataSpy} data-offset-top={dataOffsetTop}>
  <!-- Some NavBar code -->
  </nav>
);
1)On Home page : 
1-1)case 1 : on top of screen 
<nav id="mainNav" 
     className="navbar navbar-default navbar-fixed-top affix-top" 
     role="navigation" 
     data-spy="affix" 
     data-offset-top="100">

1-2)case 2 : when scrolling down
<nav id="mainNav" 
     className="navbar navbar-default navbar-fixed-top affix"
     role="navigation" 
     data-spy="affix" 
     data-offset-top="100">

2)On Sign Up page : 
<nav id="mainNav" 
     className="navbar navbar-default inner-header" 
     role="" 
     data-spy="" 
     data-offset-top="">
1)在主页上:
1-1)情况1:屏幕顶部
1-2)情况2:向下滚动时
2) 在注册页面上: