title: Recompose - mapProps and withProps not updating prop
body: <p>I have a container that I'd like to manage the roster sort order, direction and a gender filter. I have tried both <code>withProps</code> and <code>mapProps</code> in the current <code>withProps</code> code below, the roster gets updated correctly inside of <code>withProps</code>, but it doesn't override the existing roster in the Wrestlers component</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="true">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>import { compose, withState, withProps, withHandlers } from "recompose"
  import { connect } from "react-redux"
  import sortBy from "lodash/sortBy"
  
  
  // container
  export default compose(
    withState("male", "toggleGender", true),
    withState("sortByName", "toggleSortByName", true),
    withState("order", "toggleOrder", true),
    withHandlers({
      toggleGender: ({ toggleGender, male, }) =&gt; () =&gt; toggleGender(!male),
      toggleSortByName: ({ toggleSortByName, sortByName, }) =&gt; () =&gt;
        toggleSortByName(!sortByName),
      toggleOrder: ({ toggleOrder, order, }) =&gt; () =&gt; toggleOrder(!order),
    }),
    connect(state =&gt; ({
      roster: state.roster,
    })),
    withProps(props =&gt; {
      const { roster, toggleOrder, male, sortByName, } = props
  
      let newRoster = Object.assign([], roster)
  
      newRoster = newRoster.filter(wrestler =&gt; wrestler.male === male)
  
      if (toggleOrder) {
        newRoster = newRoster.reverse()
      }
  
      newRoster = sortBy(newRoster, sortByName ? "name" : "points")
  
      return {
        roster: newRoster,
        ...props,
      }
    })
  )(Wrestlers)</code></pre>
  </div>
  </div>
  </p>