我是新來的反應,這只是我的代碼的一部分。react-router當點擊返回按鈕時意外執行
About.js
import React from 'react'
export default React.createClass({
render() {
return <div > About < /div>
},
componentDidMount() {
var elem = document.createElement("div");
elem.innerText = "okokokkokoko";
document.getElementById('app').appendChild(elem);
}
})
App.js
import React from 'react'
import { Link } from 'react-router'
export default React.createClass({
render() {
return (
<div>
<h1>React Router Tutorial</h1>
<ul role="nav">
<li><Link to="/about">About</Link></li>
<li><Link to="/repos">Repos</Link></li>
</ul>
</div>
)
}
})
index.js
import React from 'react'
import { render } from 'react-dom'
import { Router, Route, browserHistory } from 'react-router'
import App from './modules/App'
import About from './modules/About'
import Repos from './modules/Repos'
render((
<Router history={browserHistory}>
<Route path="/" component={App}/>
<Route path="/repos" component={Repos}/>
<Route path="/about" component={About}/>
</Router>
), document.getElementById('app'))
當我點擊關於頁瀏覽器的後退按鈕,borwser會回來到應用頁面,但頁面仍然保留元素
<div>okokokkokoko</div>
我該如何解決這個問題而不改變About.js的代碼?
這只是一個測試,我認爲在使用像jqgrid這樣的第三方庫時,添加元素到'document'是不可避免的,所以我需要一種方法來解決這個問題 – lx1412
@ lx1412嘗試更新的答案。 –