wyszukiwarka

0

wyszukiwarka działa, gdy cos wpiszę to fajnie wyszukuje, ale gdy skasuje zawartosc inputa to niestety wszystko znika a chcialbym aby wrocily wszystkie wyniki. Da się tak zrobic?

 componentDidUpdate(prevProps, prevState) {
    if (this.state.search.length === 0) return
    if (prevState.search !== this.state.search) {
      fetch(`http://api/Routes/Search?word=${this.state.search}`)
        .then(response => {
          if (response.ok) {
            return response;
          }
          throw Error(response.status)
        })
        .then(response => response.json())
        .then(data =>
          this.setState({
            trasy: [...data]
          })
        )
        .catch(error => console.log(error))

    }

  }
1

Musisz dodać warunek aby pobierało dane jeśli input jest pusty a poprzednio nie był (masz prevState)

0

Mogłbyś cos wiecej dodac? kombinuje z tymi warunkami ale to nie działa

3

Ludzie, po grzyba bierzecie się za jakieś frejmłorki, skoro nie ogarniacie podstaw JS? Nigdy nie używałam reacta, ale widzę to tak:

 componentDidUpdate(prevProps, prevState) {
 
    szukana = "";
    if (this.prevState.search.length !== 0) szukana = this.prevState.search;
    if (this.state.search.length !== 0)     szukana = this.state.search;
    if (szukana == "") return;
    
    if (prevState.search !== this.state.search) {
      fetch(`http://api/Routes/Search?word=${szukana }`)
        .then(response => {
          if (response.ok) {
            return response;
          }
          throw Error(response.status)
        })
        .then(response => response.json())
        .then(data =>
          this.setState({
            trasy: [...data]
          })
        )
        .catch(error => console.log(error))
    }

  }
2

Zmień pierwszego ifa na

    if (this.state.search.length === 0 && prevState.search.length === 0) return

tu zakładam że Search z pustym parametrem zwróci ci wszystkie rekordy, jeśli nie to musisz użyć metody którą wywołujesz po raz pierwszy aby pobrać wszystkie rekordy
Już ci kiedyś o tym pisałem, naucz się debugować jak masz problem z warunkami

1 użytkowników online, w tym zalogowanych: 0, gości: 1