I am trying to fetch data from the api ,storing it in redux store first and then trying to get it by useSlector and then storing it in local state ..when console.log i am getting the data but i am not able to store in in my local state.It is showing empty . I have included the image of console and my code.Please check
            Asked
            
        
        
            Active
            
        
            Viewed 271 times
        
    0
            
            
        - 
                    Post code here as formatted code, not in images or via links. Also, there are plenty of answers here that deal with async data. https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – crashmstr Jun 10 '20 at 12:45
1 Answers
0
            Try to add
useEffect(() => {
 if (resultData) setLogs(resultData)
}, [resultData])
it will populate your state (logs) whenever resultData changes
Also you can just use your resultData(as well as loadingdata) straight in the component, for example, where you do logs.map(log => ...) just by resultData.map(log => ...) (don't forget to check it's not empty). 
And you can omit the logs and loading variables.
 
    
    
        Sergei Klinov
        
- 730
- 2
- 12
- 25
- 
                    Thank you for the solution.It is wokring perfectly.Can u please explain what exactly we did here.I mean i tried to add this in the existing useeffect but it didnt work and started calling api indefinately.but when i tried in seperate useffects it is working perfectly.can u please tell why – tanmay Jun 10 '20 at 16:26
- 
                    @tanmay The `useEffect()` added has the dependency of `resultData`, so it is fired every time when `resultData` changes. And if it's not empty it sets your state. And the existing `useEffect(()=> {},[])` with empty dependency array is working like `componentDidMount()` You can learn more about hooks in the official documentation https://reactjs.org/docs/hooks-reference.html – Sergei Klinov Jun 10 '20 at 16:36
