Reactjs 라우트가 올바른 결과를 반환하지 않았습니다.
질문:
다음과 같은 구조를 가진 3개의 애플리케이션이 있습니다.import React from 'react'
export default React.createClass({
render() {
return <div>Hey App1!</div>
}
})
import React from 'react'
export default React.createClass({
render() {
return <div>Hey App2!</div>
}
})
import React from 'react'
export default React.createClass({
render() {
return <div>Hey App3!</div>
}
})
내 main.js
:import React from 'react'
import ReactDOM from 'react-dom'
import {Router, Route, browserHistory, IndexRoute } from 'react-router'
import App1 from './modules/App1.js'
import App2 from './modules/App2.js'
import App3 from './modules/App3.js'
ReactDOM.render((
<Router history={browserHistory}>
<Route path="/" component={App1}>
<IndexRoute component={App1} />
<Route path="app1" component={App2} />
<Route path="app2" component={App3} />
</Route>
</Router>
), document.getElementById('app'))
그러나 브라우저에서 /#/app1
또는 /#/app2
주소를 시도할 때 /
결과가 나타납니다. (이것은 '헤이, App1' 이라는 뜻입니다.)제 Reactjs 버전은
15.3.2
답안
입니다. 당신이 선택한 역사 기록은browserHistory
입니다.그리고 URL은 example.com/some/path
처럼 보일 것이다.따라서 url에서 해시를 사용하지 않으려면
/app1
또는 /app2
를 시도해 보십시오.해시 히스토리는 URL의 해시(#) 섹션을 사용하여 예제와 유사한 라우트를 생성합니다.com/#/some/path.
url 전달
hashHistory
에서 해시를 도구로 사용하지 않으려면browserHistory