Показать сообщение отдельно
  #1 (permalink)  
Старый 18.08.2020, 18:57
Аспирант
Отправить личное сообщение для Marson Посмотреть профиль Найти все сообщения от Marson
 
Регистрация: 14.08.2018
Сообщений: 65

Как с помощью useEffect сделать запрос по нажатию на кнопку
Как с помощью useEffect сделать запрос по нажатию на кнопку и чтобы при повторном нажатии не делался один и тот же запрос пока не изменили состояние в инпут? Вставлял в зависимость состояние input, но всё равно сразу несколько запросов делается.
useEffect(() => {
    let query = () => {  
      return (
        {
          method: 'POST',
          headers: {"Content-Type": "application/json"},
          body: JSON.stringify({
              query: `query getLaunches($launch_year: String) {
                launchesPast(limit: 10, find: {launch_year: $launch_year}) {
                  mission_name
                  launch_date_local
                  launch_site {
                    site_name_long
                  }
                  links {
                    flickr_images
                  }
                  rocket {
                    rocket_name
                  }
                  id
                }
              }`, variables: {
                launch_year: props.inputText
              }   
          }), 
        }
      )
    }
    fetch('https://api.spacex.land/graphql/', query())
    .then(res => res.json())
    .then(data => console.log(data.data.launchesPast)) 
    setIsSending(props.inputText) 
  }, [props.inputText])
Ответить с цитированием