Search code examples
javascriptreduxreselect

Redux Selector - concatenate values of an object


The selector is as follows:

export const findCustomer = createSelector(
  state => state.customers.active,
  users => users.find(user => user.my_property === true)
);

It'll return one object:

{
  "first_name": "John",
  "last_name": "Doe",
  "post_code": "zzzzz",
  "category" : "abc",
}

What I'm trying to return from this selector in one go is just concatenated 2 values (both are always strings), eg postcode + category

the end output should be a string: 'zzzzzabc'

I know how to do it after I extract the object in a component, but I'd like to do it in the selector itself. Is it possible?


Solution

  • I think you should be able to something like this:

    export const findCustomer = createSelector(
       state => state.customers.active,
       users => { 
        const { post_code, category } = users.find(user => user.my_property === true)
        return post_code + category
       });