title: How to bind a Stateless Component Input to other Inputs in react-admin's views
body: <p>Having read an official doc <a href="https://marmelab.com/react-admin/Inputs.html#writing-your-own-input-component" rel="nofollow noreferrer">here</a>, I come across these statements</p>
  
  <blockquote>
    <p>...the <code>&lt;Field&gt;</code> component can access the current record via its context. The name prop serves as a selector for the record property to edit.</p>
  </blockquote>
  
  <p>Then, I try to make sense of the statements by this experiment:</p>
  
  <pre><code>const CustomInput1 = () =&gt; (
       &lt;span&gt;
           &lt;Field name="title" component="input" /&gt;
       &lt;/span&gt;
  );
  
  export const PostCreate = (props) =&gt; (
      &lt;Create {...props}&gt;
          &lt;SimpleForm&gt;
              &lt;TextInput source="title" /&gt;
              &lt;CustomInput1/&gt;
          &lt;/SimpleForm&gt;
      &lt;/Create&gt;
  );
  </code></pre>
  
  <p>It turns out that Field's prop <code>name</code> and TextInput's prop <code>source</code> are bound together, in the sense that whenever I make any change in one input, the value of another input also changes accordingly.</p>
  
  <p>My question is. Why is it not possible to reproduce the same effect by using a Stateless Component like this?</p>
  
  <pre><code>const CustomInput2 = ({ record, source }) =&gt; (
    &lt;input type="text" value={record[source]}/&gt;;
  );
  export const PostCreate = (props) =&gt; (
      &lt;Create {...props}&gt;
          &lt;SimpleForm&gt;
              &lt;TextInput source="title" /&gt;
              &lt;CustomInput2 source="title"/&gt;
          &lt;/SimpleForm&gt;
      &lt;/Create&gt;
  );
  </code></pre>
  
  <p>From what I understand, both two inputs in the latter case bind to <code>record['title']</code> and they share the same <code>record</code> object, aren't they?</p>
  
  <p>The actual reason I do this is that I want to change all other input's values based on an update of one single input. My naive understanding is that this can be achieved through a shared <code>record</code>.</p>