اذهب إلى المحتوى
  • 0

كيف أجعل روابط شريط التنقل Tabs في material-ui تعمل مع nextjs

عبد النور محمد

السؤال

لدي مشروع في material-ui و nextjs و  أحاول جعل شريط التنقل الخاص بي يعمل مع nextjs:

import * as React from 'react';
import AppBar from '@material-ui/core/AppBar';
import Link from "next/link";
import {Tab, Tabs} from "@material-ui/core";

export default function NavBar() {
  return (
        <AppBar position="static">
          <Tabs>
              <Tab label="Timer"><Link href="timer" /> </Tab>
              <Tab label="Home" to="/" component={Link}  />
          </Tabs>
        </AppBar>
  );
}

لكن  عملية بناء المشروع تفشل ؟

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكن استخادم الخاصية containerElement للعنصر Tab أي سيتم إحاطة Tab بعنصر Link ويمكن تطبيقها كالتالي

<Tabs onChange={this.changeTab} value={value}>
   <Tab label="timer"  containerElement={<Link to="/timer" />} />
   <Tab label="Home"   containerElement={<Link to="/Home"  />} />
 </Tabs>

كما يمكن إضافة Link كخاصية component :

 <Tab label='Home'  to='/Home' component={Link} />

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

في هذه الحالة ،يجب وضع عناصر Link بداخل عنصر Tabs كالتالي

<Tabs>
    <Link href="/timer" passHref>
      <Tab label="Timer" />
    </Link>
    <Link href="/" passHref>
      <Tab label="Home" />
    </Link>
</Tabs>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أيضاً قد يكون الحل التالي أفضل لل SEO:

<Link href="/timer" passHref>
  <Tab component="a" label="Timer" />
</Link>

حيث أن Link لايضيف href لل child. يقوم passHref  بفرض هذا، لكن preventDefault لايمكن وضعه onClick لأنه لن يغير عنوان URL.

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...