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) 在注册页面上: