It’s been awhile since I did any frontend work. Is there something that has taken jQuery’s place?

  • kameecoding@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    2 years ago

    template syntax is a piece of cake, takes literally 2 hours to learn everything you need and you can easily see what’s where and how the html will look when it’s rendered or not.

    • realharo@lemm.ee
      link
      fedilink
      arrow-up
      2
      arrow-down
      2
      ·
      edit-2
      2 years ago

      But why bother with creating a new language, and duplicating all the features your language already has, in a weird way?

      If I want a list of UI items based on an array of some data, I can just do items.map(item => 〈Item key={item.id} item={item} /〉), using the normal map function that’s already part of the language.

      Or I can use a function, e.g. items.map(item => renderItem(item, otherData)) etc.

      JSX itself is a very thin layer that translates to normal function calls.

      • spartanatreyu@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        2 years ago

        But why bother with creating a new language

        I can just do items.map(item => 〈Item key={item.id} item={item} /〉)

        I don’t think this is a very good example. You’ve just said not to use a new language, then used JSX, a new language.

      • kameecoding@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        2 years ago

        but how do you know what renderItem does? where will the items end up?

        we are visual creatures.

        if I see a <ul><li></li></ul> I know it’s doing a list item for every object in given list.

        it’s literally just html with a few added stuff, v-if to determine whether it’s rendered, v-for for iteration, dynamic class bindings and event listener bindings.

        templating has also been around for a while for a reason it’s solid tech, thymeleaf and jsf/primefaces being prime examples.

        • realharo@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 years ago

          Well you don’t have to place it in a separate function, nothing stops you from inlining that part and writing li or whatever directly there.

          It’s up to you how you organize your components.