score:0

right now your useeffect is triggered each time your component mount so basically when someone reaches this screen. at this time your query state is empty.

try adding this :

 useeffect(() => {
        const getfiltereditems = async (query) => {
             let response = await fetch(apiurl+query);
             let papers = await response.json();
             setapidata(papers);
             if (!query) {
                return papers
            }
            return papers;
            
        
        }
    
        getfiltereditems(query);
      },[query]) - - - - > here

by doing so, your useeffect will be triggered only and each time your query state changes

score:0

you should either include query in your dependency array i.e., second argument of your useeffect hook or either remove. when it's(array) empty useeffect will only render once i.e., when your page render for first time but when removed useeffect runs both after the first render and after every update. when specified like you put 'query' in dependency array it will only run whenever there is change in 'query' state.


Related Query

More Query from same tag