Как сделать запрос на загрузку страницы, реагировать на хуки - PullRequest
0 голосов
/ 26 января 2020

Мне нужно сделать запрос при загрузке страницы (только один раз). Я пытался сделать что-то вроде

if(!array.length){doRequest())

Но с помощью этого метода реагирует больше, чем 1 запрос, и я думаю, что это снизит скорость моего приложения. Поэтому мне нужно решение этой проблемы. Спасибо

Ответы [ 2 ]

3 голосов
/ 26 января 2020

При работе с компонентами класса решение будет заключаться в том, чтобы выполнить этот запрос в жизненном цикле componentDidMount, который вызывается только один раз.

class Example extends React.Component {
  componentDidMount() {
    doRequest();
  }
  render() {
    return null;
  }
}

Если вы пытаетесь использовать вместо этого хуки в функциональном компоненте компонентов класса, то вы должны использовать:

function Example() {
  useEffect(() => doRequest(), []);
  return null;
}

Надеемся, конечно, что doRequest объявлен в верхней области или как-то импортирован.

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

https://dev.to/trentyang/replace-lifecycle-with-hooks-in-react-3d4n

0 голосов
/ 27 января 2020

просто используйте useEffect Hook

  import React, {useEffect} from 'react'

     const func = () => {

         useEffect(()=> {
         doRequest()

         },[])


      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...