Я не знаю, что делает следующее - PullRequest
0 голосов
/ 30 января 2020

Я не понимаю, что делает этот код

useEffect(() => {    
    document.addEventListener('input', event => {
      if (event.target.tagName.toLowerCase() !== 'textarea') {
        return
      }
      autoExpand(event.target)
    }, false)
  }, [])

1 Ответ

1 голос
/ 30 января 2020

Позвольте мне попытаться объяснить, что у вас есть в вашем коде.

О хуке useEffect вы можете прочитать в документации:

Эффект Hook позволяет выполнять побочные эффекты в компонентах функций.

В вашем случае массив зависимостей пуст [], что означает, что он вызывается только один раз при загрузке функционального компонента. Точно так же, как в компоненте на основе классов, но с комбинированными событиями жизненного цикла, из документов:

Если вы знакомы с методами жизненного цикла класса React, вы можете думать о useEffect Hook как о componentDidMount , componentDidUpdate и componentWillUnmount вместе.

Если у вас есть объект в массиве зависимостей, он будет снова вызывать переданную функцию после ее изменения.

Я предлагаю читать далее о useEffect крюк более подробно ниже:
https://reactjs.org/docs/hooks-effect.html

Это поможет вам понять глубже. Надеюсь, это поможет!

...