React JS #6 События (Handling Events)

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

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

  • @vitaly4985
    @vitaly4985 5 ปีที่แล้ว +12

    Спасибо! Пока - лучшие уроки что встречал

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว +2

      Спасибо большое за отзыв!

  • @Gavr-dev
    @Gavr-dev 6 ปีที่แล้ว

    в этом уроке стало понятнее чем в предыдущих что такое пропсы и как их валидировать))

    • @YauhenKavalchuk
      @YauhenKavalchuk  6 ปีที่แล้ว

      Как я и говорил тема не совсем простая, нужно больше практических примеров для понимания, но рад что вы разобрались. т.к. многие её игнорируют и это очень зря.

  • @beznamea9549
    @beznamea9549 4 ปีที่แล้ว

    Вы прям очень хороши)
    Столько бесполезных туториалов на ютубе, все однообразные, неинтересные
    А здесь прям по факту, все четко, ясно и с примерами разными
    Огонь! Спасибо вам!!

  • @ТатьянаЛ-л9э
    @ТатьянаЛ-л9э 3 ปีที่แล้ว

    спасибо за видео!

  • @sonkn1ght455
    @sonkn1ght455 3 ปีที่แล้ว

    С момента как увидел onClick крутился вопрос - про назад к корням. И оп в конце ответ сразу получил))

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Да на инлайновый стиль написания функций в HTML похоже. Хотя по сути, это он и есть)

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

    Евгений, спасибо за видеоурок! Единственное, что немного сбивает с толку - вы путаете термины параметр функции и аргумент вызова. Пришлось раз 10 пересмотреть с 5:30 по 5:42, чтобы понять в итоге, что вы имеете в виду. Вы говорите "если в качестве параметра метод ничего не принимает" и тут же в методе объявляете параметр "e", а хотели, скорее всего, сказать что-то типа "если передать в метод render сам метод handleClick (а не его вызов с какими-либо аргументами), то в handleClick в момент клика придёт (в качестве аргумента) объект события".

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

      Согласен. Я уже учёл этот нюанс в будущих курсах

  • @АлМ-ы8ъ
    @АлМ-ы8ъ 5 ปีที่แล้ว

    Интересная схема по части использования стрелочной функции в качестве "вешателя" нескольких обработчиков на одно событие (прям как в гКвери например)

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว

      Ну это не то что бы схема. Просто в большинстве своём используют именно такой подход)

  • @МаксимНырков-у6г
    @МаксимНырков-у6г 6 ปีที่แล้ว +3

    пока вусё хорошо.

  • @dmitriychupakhin7916
    @dmitriychupakhin7916 5 ปีที่แล้ว +2

    Если передавать стрелочные функции в пропсах плохая практика, то как лучше делать, если нужно передать аргумент?
    onClick={this.handleClick.bind(this, 'text')} так?

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว

      Если нужно передать аргумент, то идеальный вариант - это создать ещё одну функцию где это и сделать. А сам вызов созданной функции повесить на элемент

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

    Приветствую Евгений!
    Я так понимаю что у объекта MyLink.defaultProps нет доступа к пропсам и стейту класса App.
    К вам вопрос:
    - Как можно это организовать? Т.е. передать в пропсы по умолчанию допустим что-то из состояния или что-то из других пропсов?

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว

      Просто передайти эти пропсы внутрь этого компонента.

  • @МаксимНырков-у6г
    @МаксимНырков-у6г 5 ปีที่แล้ว +2

    Есть момент, который я только сейчас заметил:
    const MyLink =({text, onClick})=>{
    return(
    {text}
    )
    };
    В вашем видео функция не возвращает, т.е. нет return. (сразу пишет ошибку)
    У меня работает только как я выше написал с return.
    Можете объяснить этот момент?

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว +2

      Перепроверьте такой синтаксис:
      const MyLink =({text, onClick})=> ({text});

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

      Часто эта ошибка у меня появляется, это из за стрелочной функции, если мы пишем в ней { }, то должен быть return.
      (a, b ) => { return a + b; } или же (a, b ) => a + b;

  • @VashkaWeb
    @VashkaWeb 4 ปีที่แล้ว

    Здравствуйте. Тут функция MyLink объявляется как MyLink = ( { } ) = ( ), место обычного объявления MyLink = ( { } ) = { }, в видео не услышал объяснения этого момента, единственная разница, которую я заметил, что в вашем варианте не надо прописывать return.

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Это сокращённый синтаксис стрелочной функции

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

    Здравствуйте, насколько данный плэйлист актуален в 2024 году?

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

      По сути это основы. Синтаксис поменялся, но концепции остались те же

  • @8malek
    @8malek 4 ปีที่แล้ว

    Почему нельзя вешать события через addEventListener как в нативном js ? Это не будет работать или это просто плохая практика ?

  • @iGotton
    @iGotton 5 ปีที่แล้ว

    +

  • @3bbiani
    @3bbiani 5 ปีที่แล้ว +2

    Пока самый главный вопрос: зачем это всё? С моей скромной точки зрения пока всё выглядит очень странно: есть JS, в котором реализовано все довольно логично и объемно, написать можно всё что угодно понятным языком, да те же события обрабатываются, как ты говоришь в конце урока, чисто в JS, что считается "правильным", притом есть всякие "правильные" вещи, типа addEventListener, которые позволяют спокойно навешивать несколько событий. И не только к событиям это относится, вообще ко всему, на мой взгляд. И модульность есть, и наследование, и все остальное. Что нам мешает весь этот функционал писать на JS?
    Но вот появляется супер-пупер-мега-экстра-библиотека JS, в которой синтаксис похож на синтаксис JS, как Майкл Джордан на Джеки Чана, наколочено столько дров, столько новых правил и к ним прикручено столько костылей, что голова идет кругом. А в комментах даже никто не удосуживается спросить: эээ, ребята, а зачем всё это?
    Короче, пока похоже на дурной сон, ущипните меня)))

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว +3

      React вполне логичен и костылей он не содержит. Касаемо "Что нам мешает весь этот функционал писать на JS?" - это называется "писать" велосипед, т.е. придумывать аналог уже разработанной и проверенной функциональности. А касаемо философии React - это не просто синтаксис. Это компонентный подход к разработке интерфейса, реактивность и работа с VDOM, что оптимизирует и скорость и ресурсы связанные с ререндерингом. Это не просто синтаксис - а большой функционал "под капотом"

  • @preegnees6664
    @preegnees6664 4 ปีที่แล้ว

    А зачем мы отменяем дефолное поведение с помощью js, если мы можем вообще его не прописывать ?

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 ปีที่แล้ว

      Не прописывать в этом кейсе можно. А что если человек столкнётся с такой проблемой на проекте? Я же должен в курсе показать разные варианты того, как нужно поступать

    • @preegnees6664
      @preegnees6664 4 ปีที่แล้ว

      @@YauhenKavalchuk все понял, спасибо большое))