react, differences between component create with extend class and simple const = function : <p>In react tutorial:</p>

<p><a href="https://egghead.io/lessons/javascript-redux-react-todo-list-example-filtering-todos" rel="noreferrer">https://egghead.io/lessons/javascript-redux-react-todo-list-example-filtering-todos</a></p>

<p>there is main component create with extends:</p>

<pre><code>class TodoApp extends Component {
  render() {
    const visibleTodos = getVisibleTodos(
      this.props.todos,
      this.props.visibilityFilter
    );
    .
    . // Input and Button stuff
    .
</code></pre>

<p>and another components just create like a const that hold a function:</p>

<pre><code>const FilterLink = ({
  filter,
  children
}) =&gt; {
  return (
    &lt;a href='#'
       onClick={e =&gt; {
         e.preventDefault();
         store.dispatch({
           type: 'SET_VISIBILITY_FILTER',
           filter
         });
       }}
    &gt;
      {children}
    &lt;/a&gt;
  )
}
</code></pre>

<p>the difference i see, first created with class use a render function, and the another a return function to send back the template.</p>

<p>What are the differences? I've heard  components in the future only will be allowed with extend Component ?</p>
