【发布时间】:2017-10-03 20:32:37
【问题描述】:
我有一个子组件,在从父组件路由时需要保留它。 在网上搜索关于“react-router”的大多数答案,但我使用的是“react-router-dom”(又名 React Router V4)。 我很新的反应,并认为这应该很简单,比如将组件标记为不被卸载或类似的东西。
import Home from "./home/Home";
import Top from "./top/Top";
export default class Layout extends React.Component{
render(){
return(
<Router>
<div class="wrp">
<Menu/>
<section class="left">
<Header/>
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/top" component={Top} />
</Switch>
<Footer/>
</section>
</div>
</Router>
);
}
}
在“Home”组件内部有一个子组件需要留在 DOM 中。
应要求 Home 和子组件代码:
import React from "react";
import Sponsor from "./Sponsor";
import Feature from "./Feature";
import Top from "./Top";
import Discord from "./Discord";
import Middle from "./Middle";
export default class Home extends React.Component{
render(){
return(
<section class="main_wrp">
<Sponsor/>
<div class="bulk">
<Feature/>
<div class="co6">
<Top/>
<Discord/>
</div>
<Middle/>
</div>
</section>
);
}
}
子组件(Discord):
import React from "react";
export default class Discord extends React.Component{
render(){
return(
<div class="DiscordViewer">
<embed height='500px'src='https://somelink.com' />
</div>
);
}
}
【问题讨论】:
-
如果你想离开 Home 但仍然显示 Home 的孩子,我认为孩子需要在 Home 组件之外。可以贴一下 Home 组件和 Child 组件的代码吗?
-
@palsrealm 添加了请求的代码。
标签: javascript reactjs components react-router-v4