Javascript 通过<;a>;链接
在下面的示例中,我有两个功能组件,它们提供了作为独立页面的想法,当然,它们只显示不同颜色的Javascript 通过<;a>;链接,javascript,reactjs,Javascript,Reactjs,在下面的示例中,我有两个功能组件,它们提供了作为独立页面的想法,当然,它们只显示不同颜色的框 const Home = () => <div style={{background:'red', height: 100, width: 100}}></div>; const About = () => <div style={{background:'blue', height: 100, width: 100}}></div
框
const Home = () =>
<div style={{background:'red', height: 100, width: 100}}></div>;
const About = () =>
<div style={{background:'blue', height: 100, width: 100}}></div>;
如果我有一个名为App
的组件为我呈现不同的页面:
const App = () =>
<div>
<Navbar />
// Render current page here; default is the `Home` component.
</div>;
ReactDOM.render(<App />, document.getElementById('app'));
const-App=()=>
//在这里呈现当前页面;默认为“主”组件。
;
ReactDOM.render(还有,谢谢你的回答!我来自Codecademy的ReactJS课程,所以要过渡到Javascript和React的“真实世界”有些困难,因为我必须学习ES6,并且对大多数JS库一无所知。无论如何,我感谢你们为我指明了React router
的方向,并给了我一个关于如何在没有它的情况下实现我的目标的例子。干杯。这就是我的初衷
虽然不建议手动执行,但它可以通过发出click事件来工作,该事件调用从包含“页面”的父组件传入的回调函数。该回调将告诉父容器单击了哪个导航链接,它将决定显示哪个页面以及停止呈现哪个页面。这就是构建的目的
虽然不建议手动执行,但它可以通过发出click事件来工作,该事件调用从包含“页面”的父组件传入的回调函数。该回调将告诉父容器单击了哪个导航链接,它将决定显示哪个页面以及停止呈现哪个页面。如果每个页面没有路由器/控制器,您可以执行以下操作:
const pages = ['array', 'of', 'pages'];
class App extends React.Component {
constructor(props) {
super();
this.state = {
activePage: pages[0]
}
}
switchPage = (page) => {
this.setState({
activePage: page
})
}
renderActivePage = () => {
switch(this.state.activePage) {
case 'home':
return <HomeComponent />
}
}
render() {
return (
<div>
<Navbar switchPageFunction={this.switchPage}/>
{renderActivePage()}
</div>;)
}
}
constpages=['array','of','pages'];
类应用程序扩展了React.Component{
建造师(道具){
超级();
此.state={
活动页面:页面[0]
}
}
切换页面=(页面)=>{
这是我的国家({
活动页面:第页
})
}
renderActivePage=()=>{
开关(this.state.activePage){
“家”案例:
返回
}
}
render(){
返回(
{renderActivePage()}
;)
}
}
然后只需将a标记的onclick设置为实际的switchPageFunction,并将页面名称作为参数传入。然后父组件将接收更新,更新其自身状态,并呈现正确的组件
我不建议使用此路线,而是研究react router,它是专为此用例构建的如果每个页面都没有路由器/控制器,您可以执行以下操作:
const pages = ['array', 'of', 'pages'];
class App extends React.Component {
constructor(props) {
super();
this.state = {
activePage: pages[0]
}
}
switchPage = (page) => {
this.setState({
activePage: page
})
}
renderActivePage = () => {
switch(this.state.activePage) {
case 'home':
return <HomeComponent />
}
}
render() {
return (
<div>
<Navbar switchPageFunction={this.switchPage}/>
{renderActivePage()}
</div>;)
}
}
constpages=['array','of','pages'];
类应用程序扩展了React.Component{
建造师(道具){
超级();
此.state={
活动页面:页面[0]
}
}
切换页面=(页面)=>{
这是我的国家({
活动页面:第页
})
}
renderActivePage=()=>{
开关(this.state.activePage){
“家”案例:
返回
}
}
render(){
返回(
{renderActivePage()}
;)
}
}
然后只需将a标记的onclick设置为实际的switchPageFunction,并将页面名称作为参数传入。然后父组件将接收更新,更新其自身状态,并呈现正确的组件
我不建议使用这条路线,而是研究react路由器,它是为这个用例而构建的