title: Update redux state with an input
body: <p>How can I update redux's state from a text input?</p>
  
  <p>I'm trying to do a very simple "Hello World" with a text input. When someone types into the text input, it should update my store's "searchTerm" value.</p>
  
  <p>I can't figure out these things:
   1. How can I get and pass the input's value into it's "onChange" handler?
   2. The "search" action seems to be called correctly, but my reducer function is never used (no console.log). </p>
  
  <p><strong>SearchForm.js</strong> (component)</p>
  
  <pre><code>import React, {Component, PropTypes} from 'react';
  import {bindActionCreators} from 'redux';
  import {connect} from 'react-redux';
  import {search} from 'redux/modules/search-term';
  
  @connect(
    null,
    dispatch =&gt; bindActionCreators({ search }, dispatch)
  )
  
  export default class SearchForm extends Component {
    static propTypes = {
      search: PropTypes.func.isRequired,
    }
  
    render() {
      return (
        &lt;input type="text" placeholder="Search" onChange={search} /&gt;
      );
    }
  }
  </code></pre>
  
  <p><strong>search-term.js</strong> (action &amp; reducer)</p>
  
  <pre><code>const SEARCH = 'redux-example/repo-filter/SEARCH';
  
  const initialState = {
    searchTerm: null
  };
  
  export default function reducer(state = initialState, action = {}) {
    console.log("reducing");
  
    switch (action.type) {
      case SEARCH:
        return {
          searchTerm: action.term
        };
      default:
        return state;
    }
  }
  
  export function search(term) {
    return {
      type: SEARCH,
      term
    };
  }
  </code></pre>
  
  <p><strong>reducer.js</strong></p>
  
  <pre><code>import { combineReducers } from 'redux';
  import multireducer from 'multireducer';
  import { routerStateReducer } from 'redux-router';
  
  import search from './search-term';
  
  export default combineReducers({
    router: routerStateReducer,
    search
  });
  </code></pre>