Search code examples
react-nativereduxreact-reduxredux-toolkitmapstatetoprops

How to get entities as an array in a class component when using createEntityAdapter from Redux toolkit?


I have a slice in my store I created with createEntityAdapter from Redux Toolkit. In Function components you can use useSelector with the selectors returned from adapter.getSelectors(). But how can I get all entities as an array (like with the selectAll selector) in a class based component? I am using connect with mapStateToProps, which just allows me to get either entities or ids as a prop, but not all entities as an array sorted in the same order as the ids are sorted...


Solution

  • You would use the same selectAll selector, but you would call it in your mapState function for use with connect instead of passing it to useSelector:

    const mapState = (state) => {
      return {
        items: itemsSelectors.selectAll(state)
      }
    }