Next.js 14 Tutorial - 7 - Dynamic Routes

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 พ.ย. 2024

ความคิดเห็น • 121

  • @amaanuddinn
    @amaanuddinn 14 วันที่ผ่านมา +12

    For anyone working with the latest version of next.js more specifically next.js 15 or above will now need to know that all dynamic API's are asynchronous, thus for any operation requiring accessing the fields of the params or searchParms needs to be handled as an asynchronous operation.
    Example:
    Before:
    function ProductID({
    params,
    }: {
    params: {
    productId: number
    }
    }) {
    const { productId } = params
    return Product ID: {productId}
    }
    export default ProductID
    After:
    async function ProductID({
    params,
    }: {
    params: {
    productId: number
    }
    }) {
    const { productId } = await params
    return Product ID: {productId}
    }
    export default ProductID
    you will now need to await the params object as well.

    • @MAR-kh4ed
      @MAR-kh4ed 11 วันที่ผ่านมา +1

      thanks brother !!
      Was searching for the solution

    • @amaanuddinn
      @amaanuddinn 11 วันที่ผ่านมา

      @MAR-kh4ed you're welcome😄

    • @xboy2374
      @xboy2374 วันที่ผ่านมา

      thanx bro

    • @amaanuddinn
      @amaanuddinn วันที่ผ่านมา

      @@xboy2374 you're welcome

  • @billb1365
    @billb1365 2 หลายเดือนก่อน +20

    Outstanding tutorial! I first watched the lessons and now watching a second time while coding in parallel. Thanks for developing such exceptional content.

  • @ONEHLOFIOCHIOCHEME
    @ONEHLOFIOCHIOCHEME 2 หลายเดือนก่อน +4

    Vishwas is a gifted teacher and educator. You are a gift to mankind dear Vishwas.

  • @uquantum
    @uquantum 5 หลายเดือนก่อน +4

    Thanks so much❤ I’d moved so quickly to astro (ssr) a couple years ago, but now I have a next.js project, so I really appreciate your presentation style and the content to get me up to speed.

  • @AjikwuC.Wilson
    @AjikwuC.Wilson ปีที่แล้ว +9

    Thanks. I'm following this course as soon as they drop. Promise to finish it with you. This is great

    • @Usama-Tanoli
      @Usama-Tanoli 7 หลายเดือนก่อน

      so as you might finished this could you tell me how is this

  • @shubhaverma5697
    @shubhaverma5697 5 หลายเดือนก่อน +1

    Wow. Amazed by the content you provided in 7 minutes. I must have tried to learn about dynamic routes from so many resources, never quite understood it until now.

  • @riavi
    @riavi 8 หลายเดือนก่อน +2

    Thanks! This cleared up what my instructor meant by dynamic routes, I didn't get it in class.

  • @euroclydon7883
    @euroclydon7883 11 หลายเดือนก่อน +12

    Your explanations are top notch

  • @omozemojeaugustine3529
    @omozemojeaugustine3529 6 หลายเดือนก่อน +2

    Am following the series thanks for breaking this down to this level

  • @latifurrahman2648
    @latifurrahman2648 8 หลายเดือนก่อน +1

    this course helps me very much. you are the best instructor

  • @koketsophiri1753
    @koketsophiri1753 17 วันที่ผ่านมา

    Gold mine of a course😭❤

  • @bhn1997
    @bhn1997 8 หลายเดือนก่อน +1

    Thanks for your guides. Exactly what I wanted to render!

  • @md.Alamin-ej6ro
    @md.Alamin-ej6ro 6 หลายเดือนก่อน +1

    Damn THIS was too good, it helps me a lot i was searching for this type of content but everyone just explained it in a more difficult way , anyway it was damn good to understand the basics of the dynamic routes. Thanks a lot..

  • @emmanuelkpogo9319
    @emmanuelkpogo9319 3 หลายเดือนก่อน +1

    Great tutorial. Very comprehensive.

  • @auricaputri7664
    @auricaputri7664 4 หลายเดือนก่อน

    great tutorial video, my first day learning your course!!

  • @isagive
    @isagive 3 หลายเดือนก่อน

    תודה רבה, הסבר ענייני ומקצועי. 👍

  • @thespiritninja11
    @thespiritninja11 3 หลายเดือนก่อน

    THIS HELPED SO MUCH! Thank you 🫡

  • @inibudi4233
    @inibudi4233 9 หลายเดือนก่อน +1

    Thank you for step-by-step tutorial, very helpful

  • @GREENTEACODES
    @GREENTEACODES 21 วันที่ผ่านมา

    Thank you brother for such amazing content

  • @syedakashish5913
    @syedakashish5913 9 หลายเดือนก่อน

    explanation is so good.And it seems like john the don it teaching.

  • @jeffreyndukwe3869
    @jeffreyndukwe3869 ปีที่แล้ว +1

    You are doing a great and wonderful job. Nice teaching

  • @shresthagaurab2193
    @shresthagaurab2193 9 หลายเดือนก่อน +1

    Thanks u so much step by step , it's very helpful

  • @rohit_dev
    @rohit_dev ปีที่แล้ว +1

    I am going to finish this series with you 🙌

  • @misalambasta
    @misalambasta 2 หลายเดือนก่อน +1

    Those who are wondering where the params come from. The folder name [productId] will pass as a params in page.tsx file of the same folder.

  • @joja2174
    @joja2174 11 หลายเดือนก่อน +58

    bro explained a 2 hours lecture in 7 mins

    • @king_james_official
      @king_james_official 4 หลายเดือนก่อน +1

      no

    • @mzohaib27
      @mzohaib27 หลายเดือนก่อน +1

      actually bro is explaining very good... those who took 2 hours for this.. they are paid courses.... their goal is only to take money.... nextjs course... then nextjs advanced course... then nextjs project learning course etc..... that's why they are taking 2 hours on this.... bcz if they teach everything in one course who will buy second...

    • @joja2174
      @joja2174 หลายเดือนก่อน

      @@mzohaib27 imo paid courses are very focused on giving EVERYTHING the good bad and ugly, the useful, useless and good to know, so they are not time efficient but definitely worth it, at least the good ones
      some things they tend to over explain which why i watch channels like this, straight to the point

  • @yinonelbaz5309
    @yinonelbaz5309 11 หลายเดือนก่อน +2

    You are doing a great and wonderful job!

  • @elenak2528
    @elenak2528 9 หลายเดือนก่อน

    Thank you! Where did you find it? There is no this info in documentation I think. Only with the help of your video I managed to finally do dynamic routes ( params especially are never mentioned in documentation, or I am stupid I don;t know)

  • @nicolaskorner9351
    @nicolaskorner9351 9 หลายเดือนก่อน

    Hey Codevolution & watchers,
    In your dynamic routes we're using params. Is there any difference to your usage and type declaration compared to NextJS useParams für dynamic routes? In their docs they create a variable with const params = useParams (and import it). Thanks for your videos!

  • @aakashyadav6228
    @aakashyadav6228 10 หลายเดือนก่อน +3

    Bro, please continue with the series.

  • @Ezzgamezzz
    @Ezzgamezzz 3 หลายเดือนก่อน

    Well explained 👍🏻👍🏻

  • @josatienganh
    @josatienganh 5 หลายเดือนก่อน

    Thank you so much for the guide! ❤

  • @GerardoAG
    @GerardoAG 3 หลายเดือนก่อน

    you are a genius bro, thaks

  • @ViniciusRodrigues-st8mw
    @ViniciusRodrigues-st8mw 2 หลายเดือนก่อน

    Thank you very much Sir!

  • @sejeminecraft1
    @sejeminecraft1 8 หลายเดือนก่อน

    Thank you so much. Short and precise, extremely helpful!

  • @DushyantJoshi
    @DushyantJoshi 8 หลายเดือนก่อน

    Just Awesome. Thanks for this.

  • @최재혁-k6j
    @최재혁-k6j 11 หลายเดือนก่อน

    so useful teaching! Thanks

  • @2u841r
    @2u841r 3 หลายเดือนก่อน

    Thank you.

  • @osaka-ben9291
    @osaka-ben9291 10 หลายเดือนก่อน

    thank you so much ! i was struggling with NextJs router specially with the 14.0 version because we're not using the folder "pages" anymore if i get it right.

  • @shouryadey3911
    @shouryadey3911 4 วันที่ผ่านมา

    What if I need some pattern like this a-to-b-journey. where a and b can be anything. would having a folder with name [src]-to-[des]-journey works?

  • @andrewberrio7374
    @andrewberrio7374 8 หลายเดือนก่อน

    Thank you sir

  • @Regiomer
    @Regiomer 10 หลายเดือนก่อน +3

    Does this work with js also?
    It renders only the "404 page not found" component in my case

    • @saintrivers962
      @saintrivers962 8 หลายเดือนก่อน

      Yeah, I'm having the same problem.

  • @rickyanchores4464
    @rickyanchores4464 10 หลายเดือนก่อน

    Great tutorial!!

  • @ShivamSahu-l6c
    @ShivamSahu-l6c 24 วันที่ผ่านมา

    Amazing

  • @tensorbaba7687
    @tensorbaba7687 3 หลายเดือนก่อน

    why do we destructure params in paramerters of function component?

  • @omexaapp3062
    @omexaapp3062 5 หลายเดือนก่อน

    certainly u are the best.

  • @luisr2662
    @luisr2662 3 หลายเดือนก่อน

    Amazing!

  • @asifnewaz477
    @asifnewaz477 8 หลายเดือนก่อน

    Thanks bro! You are so cool!

  • @beybell
    @beybell 7 หลายเดือนก่อน

    If someone gets an error, the id does not appear in the text on the page or next shows an error, check whether you wrote the ID correctly in the ProductId folder. In the folder name, the first letter I must be capitalized product Id

    • @Kevin-ft1xe
      @Kevin-ft1xe 7 หลายเดือนก่อน

      Thanks mate

  • @mohitrathore8808
    @mohitrathore8808 ปีที่แล้ว

    Wonderful, keep going

  • @sahandsepidar4089
    @sahandsepidar4089 11 หลายเดือนก่อน

    i only tought the only way to get the paramd is using hooks , i didnt know about params ; thank you

  • @yipmong
    @yipmong 6 หลายเดือนก่อน

    Sir, words can not express our appreciation to your short and fully concised tutorial, we are very grateful for this. i watched a 3 hours tutorial but couldnt understand fully but yours of less than 10 mins i feel like a pro in this
    thank you so much for all you do sir❤❤❤

  • @NguyênNguyễnTrung-r3x
    @NguyênNguyễnTrung-r3x 10 หลายเดือนก่อน

    Thank you!

  • @nahar830
    @nahar830 ปีที่แล้ว

    Thanks

  • @wojteeh
    @wojteeh 7 หลายเดือนก่อน

    Very useful, thanks ;)

  • @riyad-appscode
    @riyad-appscode ปีที่แล้ว

    Thanks 🙂

  • @kevinchittilapilly8221
    @kevinchittilapilly8221 8 หลายเดือนก่อน

    Thanks for the lecture. I have a doubt. How can I add a check so that only if the productId is a number, I navigate to the right page. But if the user enters something like product/temp it does not navigate to the productid page

    • @ThePressend
      @ThePressend หลายเดือนก่อน

      import useRouter, then destructure your dynamic id, and check for this whether is number using Number.isInteger(), if not redirect to another url

  • @zohaibafridi3522
    @zohaibafridi3522 10 หลายเดือนก่อน

    will it work on build?

  • @MucahitCanbey
    @MucahitCanbey 9 หลายเดือนก่อน

    Thanks ✨✨

  • @jonathanguerrero5991
    @jonathanguerrero5991 8 หลายเดือนก่อน

    Dynamic routs information start at minute 4:00 all previously said is not dynamic routes.

  • @tsmusic9587
    @tsmusic9587 9 หลายเดือนก่อน

    NICE video

  • @Pipu748
    @Pipu748 5 หลายเดือนก่อน

    love it

  • @gettingoverit__
    @gettingoverit__ 3 หลายเดือนก่อน

    how to do it programmatically

  • @minseongkim3278
    @minseongkim3278 3 หลายเดือนก่อน

    This video must be accepted by official docs

  • @navjotsingh5303
    @navjotsingh5303 หลายเดือนก่อน

    with dynamic routes i could't able to make build with static export can anyone help me with this

  • @HassanMehboob-ij1cq
    @HassanMehboob-ij1cq 8 หลายเดือนก่อน

    How I can get id in nested component?

  • @HassanAKhann
    @HassanAKhann 6 หลายเดือนก่อน +1

    Saviour

  • @harshitshrivastava114
    @harshitshrivastava114 6 หลายเดือนก่อน

    why my params.productID is showing undefined in console.log

  • @adityarajaram3124
    @adityarajaram3124 10 หลายเดือนก่อน +1

    I have question while deploying in next js 14 with app router (Dynamic Route) it's not supported. Do you know any way?

    • @iqbalali3341
      @iqbalali3341 10 หลายเดือนก่อน

      I also have the same problem, have you found a solution?

    • @victoragese
      @victoragese 9 หลายเดือนก่อน

      Same here

  • @yellhtetnaing2245
    @yellhtetnaing2245 ปีที่แล้ว

    waiting for next pieces

  • @JagadishL-wj6sn
    @JagadishL-wj6sn 6 หลายเดือนก่อน

    How do you handle 404 page for dynamic routes

    • @nxtalex10
      @nxtalex10 5 หลายเดือนก่อน

      well, lets say you are searching for that id in the database and returning its properties, then yuo can do a conditional rendering to see if your api returned the data or returned a 404 error!

  • @ailton.duarte
    @ailton.duarte 4 หลายเดือนก่อน

    my layout is not working in productId, do u know why?

  • @rahmannurudin5003
    @rahmannurudin5003 11 หลายเดือนก่อน

    where's _app module in newest next.js version?

  • @gboyegaoluwatobiloba8585
    @gboyegaoluwatobiloba8585 3 หลายเดือนก่อน

    seems using typescript is a hassle

  • @bj0urne
    @bj0urne 6 หลายเดือนก่อน

    My VS Code doesn't automatically format my code when I save the file like yours does... Is that an extension you're using?

  • @theangelofspace155
    @theangelofspace155 ปีที่แล้ว

    But what happen of we try to access a outOfRange dynamic route? Do we need to build that logic so if a user is trying to go to /[100] but we only have 50 resources? Or will nextJS render a 404 - not found?

    • @HimanshuGogoi
      @HimanshuGogoi ปีที่แล้ว

      u need to manually redirect it to not found else it will still attempt to show the page

  • @its_Akhtar
    @its_Akhtar 3 หลายเดือนก่อน

    Thanks a lot

  • @worldoflanguages1043
    @worldoflanguages1043 4 หลายเดือนก่อน

    what;s this error in console Warning: Extra attributes from the server: cz-shortcut-listen

  • @behroozbk
    @behroozbk 9 หลายเดือนก่อน

    best

  • @MALI-gj8sk
    @MALI-gj8sk หลายเดือนก่อน

    But NextJs docs says folder name should be like this: pages/products/[id].js.

    • @CelliumsBurner
      @CelliumsBurner 11 วันที่ผ่านมา

      You’re using the pages router. You should be using the app router. You’re looking at the wrong docs

  • @Kmkn308
    @Kmkn308 11 หลายเดือนก่อน

    waiting more videos

  • @gabrielsouza4483
    @gabrielsouza4483 7 หลายเดือนก่อน

    Why when im ussing output: export I got the error "Page "/[ID1]/[ID2]" is missing "generateStaticParams()" so it cannot be used with "output: export" config." ??? I dont have all possible values to ID2 and ID2 to generateSTtaicParams

    • @EzequielGrigolatto-lg6mz
      @EzequielGrigolatto-lg6mz 6 หลายเดือนก่อน +1

      I'm getting the same issue, were you able to solve it?

    • @gabrielsouza4483
      @gabrielsouza4483 6 หลายเดือนก่อน +1

      @@EzequielGrigolatto-lg6mz the """"fix""" is downgrad tô 13.4.9 , apparently next 14 release with this bug but never fixed

    • @EzequielGrigolatto-lg6mz
      @EzequielGrigolatto-lg6mz 6 หลายเดือนก่อน

      @@gabrielsouza4483 thanks for your quick answer! unfortunately downgrade next version is not possible on my case, I'll look for other options then

    • @gabrielsouza4483
      @gabrielsouza4483 6 หลายเดือนก่อน

      @@EzequielGrigolatto-lg6mz I tried almost everything , almost for two weeks, but if u find a solution tell me

  • @chesterxp508
    @chesterxp508 11 หลายเดือนก่อน

    GoodJob!

  • @manuelrosalesmaquieyra9687
    @manuelrosalesmaquieyra9687 5 หลายเดือนก่อน

    bestia animal idolo

  • @selvamkarthik9605
    @selvamkarthik9605 ปีที่แล้ว +1

    😊

  • @warriors_edge
    @warriors_edge 5 หลายเดือนก่อน

    fuckin amazing, thank you

  • @ObjectiveTruth-zm3hi
    @ObjectiveTruth-zm3hi 5 หลายเดือนก่อน

    isn't TypeScript a waste of time ?

  • @gorkemgok9313
    @gorkemgok9313 7 หลายเดือนก่อน

    The voice is AI. I am sure.

    • @nxtalex10
      @nxtalex10 5 หลายเดือนก่อน

      nah he is just Indian 🤣🤣🤣🤣🤣🤣

  • @anasouardini
    @anasouardini 5 หลายเดือนก่อน

    BRO, you've been repeating the same thing in the last 3 videos

  • @tienhuynh2435
    @tienhuynh2435 3 หลายเดือนก่อน

    respect sir

  • @jesssdad
    @jesssdad หลายเดือนก่อน

    For me it didn't work as it didn't display the product ID after 'Details about product'. For anyone having the same issue first thing to check is that the folder is named [productId], mine was [productID] and it couldn't match/find the page.
    So the big lesson here is that next.js is case-sensitive.
    The only way I could work out how to debug it was to use postman and look at the actual response from the server which contained the following content (buried in a HTML tag)
    "{\"children\":[\"Details about product \",\"$undefined\"]}]
    5:[\"productID\",\"1\",\"d\"]
    7:D{\"name\":\"RootLayout\",\"env\":\"Server\"}
    8:D{\"name\":\"NotFound\",\"env\":\"Server\"}
    8:[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}"
    In other words the server simply returned 200 = OK as a status on a 404 page.
    I'm guessing this type of issue is handled in a later video?

    • @CelliumsBurner
      @CelliumsBurner 11 วันที่ผ่านมา

      If you used your common sense you’d know that js is a case sensitive language.

  • @yogita868
    @yogita868 7 หลายเดือนก่อน

    I have this created this file structure in Next js version ->14
    project\[[id]]
    Inside page.tsx I have this code->
    'use client';
    import PathwayContainer from '@/components/Pathways/PathwayContainer';
    const PathwayPage = () => {
    const clientID = '06375fa6-999a-46a8-9d80-12e41e76aa52';
    return (
    );
    };
    export default PathwayPage;
    This clienID I would fetch from useselector later as of now i keep code like this.
    and this is the component for PathwayContainer.
    'use client';
    interface IPathwayContainerProps {
    fetchClientProjects: (clientId: string) => Promise;
    clientID: string;
    }
    const PathwayContainer: FunctionComponent = (props) => {
    const {
    fetchClientProjects,
    clientID,
    } = props;
    const [loading, setLoading] = useState(false);
    const [activeProjectList, setActiveProjectList] = useState([])
    useEffect(() => {
    const getActiveProjectList = async () => {
    try {
    setLoading(true);
    const projectInfo = await fetchClientProjects(clientID);
    setActiveProjectList(projectInfo);
    }
    catch {
    }
    finally {
    setLoading(false);
    }
    }
    getActiveProjectList();
    }, [clientID])
    return (
    {activeProjectList.map((activeProject, index) => (

    {activeProject.name}

    ))}

    );
    };
    export default connect(() => ({}), {
    fetchClientProjects: actions.clients.fetchClientProjects,
    })(PathwayContainer);
    whevaver user clcik on this link which i have crated using clientID is not changed but my useeffect code runs again and again whenver user click on links. same code works fine in react. How can i solve this issue.please help.

  • @igorluyz_
    @igorluyz_ 11 หลายเดือนก่อน

    You are doing a great and wonderful job!

    • @adityarajaram3124
      @adityarajaram3124 10 หลายเดือนก่อน

      I have question while deploying in next js 14 with app router (Dynamic Route) it's not supported. Do you know any way?

  • @brunelleagboton161
    @brunelleagboton161 หลายเดือนก่อน

    Thanks a lot

  • @Txushin
    @Txushin 7 หลายเดือนก่อน

    Thanks