Это видео недоступно.
Сожалеем об этом.

Build React.js From Scratch | Course Preview

Поделиться
HTML-код
  • Опубликовано: 12 авг 2024

Комментарии • 35

  • @DevSage
    @DevSage  2 года назад +2

    🌟 Order Here!
    buildreactjs.io
    👨‍💻 GitHub Starter Code!
    github.com/pkellz/sage-starter
    ⏰Timestamps
    0:00 - Intro
    3:02 - Download starter code from GitHub
    3:50 - Explore project structure
    4:48 - Deconstructing JSX and React.createElement()
    9:31 - Deconstructing React.render()
    14:59 - Rewriting our own Sage.createElement() function
    20:46 - Telling JSX to use our new Sage.createElement() function
    21:42 - Rewriting our own Sage.render() function
    28:00 - Testing our new custom library!

    • @giovannigonzaga6865
      @giovannigonzaga6865 Год назад

      I tried purchasing the course in your website but it is not working

    • @DevSage
      @DevSage  Год назад

      @@giovannigonzaga6865 Could you give me more information? Is it not letting you pay? You can email me at devsage1@gmail.com

  • @meonitelexdee3432
    @meonitelexdee3432 2 года назад +3

    The React Team should buy it and release it to the public to recruit new contributors!

  • @yinonelbaz5309
    @yinonelbaz5309 2 года назад +1

    Amazing channel
    You upload rare materials that are hard to find online

  • @aaf2011
    @aaf2011 2 года назад +2

    Thanks man, this is really awesome I never seen someone explain react this way. You have got me.. 🙏🙏 Keep up

    • @DevSage
      @DevSage  Год назад

      Glad you enjoyed!

  • @Geomaverick124
    @Geomaverick124 2 года назад +4

    This is pretty cool. I only know of Traversy Media and Stephen Grider who have courses that teach people how to build a library or framework. Keep up the good work!

    • @DevSage
      @DevSage  2 года назад +2

      💪🏾💪🏾

    • @tuananhdo1870
      @tuananhdo1870 Год назад +1

      Can I know what is the Stephen Grider's course name?

  • @jornejongsma
    @jornejongsma 2 года назад +1

    A react with a virtual dom?! Looks pretty cool and promising, seeing your course site.

  • @i_youtube_
    @i_youtube_ Год назад

    I hope you will expand this library and more topics to the course

  • @natnichanachai9173
    @natnichanachai9173 Год назад +1

    Thanks to you

  • @suyesh
    @suyesh 2 года назад +1

    Great channel man

    • @DevSage
      @DevSage  2 года назад

      Thank you Suyesh

  • @carlosjulio8364
    @carlosjulio8364 2 года назад +1

    Respect ♥

  • @Krzysiekoy
    @Krzysiekoy 2 года назад +2

    There is one thing that I don't quite get how it works. You have your createElement function. That function expects to be called with some arguments: type, props, and a number of child arguments all consolidated into ...children. Ok, I get this part.
    But then, how does Sage Library get "passed into" createElement? Is this done by Babel "behind the scenes"?
    So, do I get this right, that JSX is not a really part of React, but rather is a helpful syntax that Babel translates back into valid javascript? So, while creating our Sage library, we will be using JSX "out of the box" and babel will do the heavy lifting for us?
    I'd like to see what does Sage Library look like "after translation" if that makes sense. Like what actually gets passed into the createElement function.

    • @DevSage
      @DevSage  2 года назад +1

      "But then, how does Sage Library get "passed into" createElement? Is this done by Babel 'behind the scenes'?"
      - Babel is going to convert the JSX to Sage.createElement() calls (similar to how it does with the React.createElement). We tell Babel to use our custom Sage.createElement function instead of React.createElement by adding the JSX pragma instruction.
      JSX is not a part of React. You can use React without using any JSX at all. Yes it's just a convenient way to represent our React elements without writing a whole bunch of createElement calls ourselves.
      "I'd like to see what does Sage Library look like "after translation" if that makes sense."
      - This would get translated to something like this. Click this playcode link:
      playcode.io/927302

    • @Krzysiekoy
      @Krzysiekoy 2 года назад +2

      @@DevSage "Babel is going to convert the JSX to Sage.createElement() calls"
      - OOOHHH, Ok, I totally didn't get this at first. I thought that the JSX would be converted into "something javascripty" and that "thing" would then get passed into createElement, but now that I think about, it doesn't make sense. So JSX being coverted directly into Sage.createElement() calls makes total sense now.
      Thanks for you reply :)

    • @DevSage
      @DevSage  2 года назад

      @@Krzysiekoy No problem 👍🏽

  • @mac.ignacio
    @mac.ignacio 3 месяца назад

    How about you have a "Conditional Statement" inside your element? Your code only works in basic element without conditional expression.

  • @programmingholic
    @programmingholic Год назад

    Sir Looking for Javascript Course beginner to Advance 🙏🙏

  • @antwierasmus
    @antwierasmus 11 месяцев назад

    is this course still available? I don't see anything on the repo you showed in the video

    • @antwierasmus
      @antwierasmus 11 месяцев назад

      also may I know if it's been updated, since there are few things that has changed with react server components

    • @DevSage
      @DevSage  11 месяцев назад

      The course is still available at buildreactjs.io. But no the course has not been updated yet. Currently the course is focused on how React 16 works.

    • @antwierasmus
      @antwierasmus 11 месяцев назад

      @@DevSage I wish this is updated since there have been a lot of changes since react 18. I want to know more in order to contribute to react open source

  • @JohnHaugeland
    @JohnHaugeland 2 года назад +2

    Does this cover parsing the actual jsx?

    • @DevSage
      @DevSage  2 года назад

      Babel is going to parse the JSX into Sage.createElement() calls

    • @JohnHaugeland
      @JohnHaugeland 2 года назад

      ah. so you aren't actually implementing react, you're just implementing the renderer

    • @DevSage
      @DevSage  2 года назад

      @@JohnHaugeland Not sure I understand what the difference is. Maybe you could elaborate?

    • @JohnHaugeland
      @JohnHaugeland 2 года назад

      @@DevSage - you're implementing react if you can parse react code without some other tool like babel doing almost all of the difficult work
      you're not implementing react if you're just relying on babel to do all the hard work

    • @JohnHaugeland
      @JohnHaugeland 2 года назад

      most of the work in react is the jsx parsing, which here is just outsourced to an existing tool

  • @gabrielmichaud4169
    @gabrielmichaud4169 2 года назад

    too