0
我正在使用Rails與react gem和react-router.js內部資產。react-router - 沒有組件在哈希變化上呈現
var Router = require('react-router').Router;
var Route = require('react-router').Route;
var Link = require('react-router').Link;
var ReactDOM = require('react-dom');
var browserHistory = require('react-router').browserHistory;
ReactDOM.render((
<Router history={browserHistory}>
<Route path="/" component={Welcome}>
<Route path="hello" component={Hello}/>
<Route path="welcome" component={Welcome}/>
<Route path="about" component={About}/>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.getElementById('root'));
other.es6.jsx:我是爲了使用需要
我有我的內app.js航線使用的WebPack
var Hello = React.createClass({
render: function() {
return (
<div>
<h3>Hello component</h3>
<a href="#about">About</a>
</div>
);
}
});
var Welcome = React.createClass({
render: function() {
return (
<div>
<h3>Welcome component</h3>
<a href="#hello">Hello</a>
</div>
);
}
});
var About = React.createClass({
render: function() {
return (
<div>
<h3>About component</h3>
<a href="#welcome">Welcome</a>
</div>
);
}
});
var NoMatch = React.createClass({
render: function() {
return (
<h3>No Match</h3>
);
}
});
當我訪問CONTROLLER_NAME /指數它默認呈現'歡迎組件'文本鏈接到'#hello'但是當點擊時,它什麼也不做。它還在說'歡迎組件'
我做錯了什麼?
如果你從你的urls中刪除'#'標誌(或者用'/'替換它們),會發生什麼?這裏是文檔(理解'browserHistory'和'hashHistory'之間的區別可能有所幫助)https://github.com/reactjs/react-router/blob/master/docs/guides/Histories.md – tcollart