Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将组件传递到除下一个js之外的所有页面_Reactjs_Next.js - Fatal编程技术网

Reactjs 如何将组件传递到除下一个js之外的所有页面

Reactjs 如何将组件传递到除下一个js之外的所有页面,reactjs,next.js,Reactjs,Next.js,我有一个布局组件,我想将它传递到所有页面,除了authenticate页面 我尝试过使用Component.name,它适用于开发人员,但不适用于生产版本 我该怎么做 if (Component.name === 'Authenticate') { return ( <Provider store={store}> <Component {...pageProps} /> </Provider> );

我有一个布局组件,我想将它传递到所有页面,除了
authenticate
页面

我尝试过使用
Component.name
,它适用于开发人员,但不适用于生产版本

我该怎么做

  if (Component.name === 'Authenticate') {
    return (
      <Provider store={store}>
        <Component {...pageProps} />
      </Provider>
    );
  }

  return (
    <Provider store={store}>
      <Authenticate>
        <Layout>
          <Component {...pageProps} />
        </Layout>
      </Authenticate>
    </Provider>
  );
if(Component.name=='Authenticate'){
返回(
);
}
返回(
);

您可以使用
useRouter
内部
\u app.js
完成此操作(推荐)


谢谢你的帮助:)
import {useRouter} from 'next/router';
function MyApp({ Component, pageProps }) {
  const router = useRouter();
  const {asPath,route,pathname } = router // pick the one that you need
  
  if(asPath === "Authenticate"){
     return (
        <Provider store={store}>
          <Component {...pageProps} />
        </Provider>
     )
  }else{
     return(
       <Provider store={store}>
          <Authenticate>
            <Layout>
               <Component {...pageProps} />
            </Layout>
        </Authenticate>
      </Provider>
     )
  }
}
 
function MyApp({ Component, pageProps }) {
   const {path } = pageProps 
  
   if(path === "Authenticate"){
      return (
         <Provider store={store}>
           <Component {...pageProps} />
         </Provider>
      )
   }else{
      return(
        <Provider store={store}>
           <Authenticate>
             <Layout>
                <Component {...pageProps} />
             </Layout>
         </Authenticate>
       </Provider>
      )
   }
}
MyApp.getInitialProps = async (appContext) => { 
  return {pageProps : {
    path : appContext.ctx.pathname
  }}
}