Search code examples
reactjsredux

Why redux state might be undefined?


In redux I want to make a selector getRequestStatus:

export const getRequestStatus = (state) => state.books.request

For unknown reason, it doesn't work in component when I use mapStateToProps and says state.books is undefined.

const mapStateToProps = state => ({ 
  getBook: (bookId) => getBook(state,bookId),
  getRequestStatus: (state)=>getRequestStatus(state),//doesn't work, undefined state.books
})

Suprisingly it works fine when write in component:

   const request = useSelector((state)=>getRequestStatus(state))//works

When I don't use useSelector I try to call this from props:

 const request = getRequestStatus()//doesn't work, cant access to undefined state.books
//normally it should because state is passed in mapStateToProps right?

I suppose that this is because of no state argument. What Do you think?


Solution

  • getRequestStatus: (state)=>getRequestStatus(state) should just be getRequestStatus: ()=>getRequestStatus(state)