控制引用的页面 显示部分内容

想请教一个问题:
在react项目中, 写了一个组件,比如组件有头部,内容和尾部3部分内容,现在在a,b,c
3个页面中使用了该组件,但是 ,b页面和c页面并不需要该组件的头部,
请问有什么方法,可以在b,c 2个页面中使用该组件时,让该组件的头部不显示?
想通过路由的方法来判断该组件的头部是否先,但是,怎么样获取到a,b,c3个页面的路由信息??
或是有没有其他方法来判断 在b,c 2个页面,让该组件的头部不显示?

阅读 2.7k
3 个回答
新手上路,请多包涵

在组件上加个props控制是否渲染某部分?

function Components({renderHeader}) {
    return(
        {
          renderHeader && <div> header </div>
        }
    )
}

关于页面路由? 是指这个吗 https://developer.mozilla.org...

为什么不考虑将组件拆分为三个组件分别为header body footer.

a b c 页面自己决定引哪一个组件拼装就好了

我猜测,楼主的项目可能是因为:

header,content,footer三个组件放进了主组件里。

写页面时只关心当前content组件就Ok,这样很方便。但是一旦遇到某个页面不需要footer的情况,自然就gg了。
笨办法是:

主组件载入时 ,生命周期里判断路由信息,render里决定是否渲染footer。
类似:
   主组件 main.jsx:
    render() {
        if(路由信息里包含不需要展示尾部的信息){
            return 除了尾部的元素
        }else {
            return 全部元素
        }
    }

能想到的只有这个。 新手刚用 react,勿喷。

推荐问题