title: React-Redux design pattenrs: Should a "deep" component be wired to Redux, or receive props from parent components?
body: <p>I'm building some instant messaging app using React and Redux in the frontend. I have components like "Main"(initializes the web socket and renders other components), "Chat", "FriendsList" and "Friend" </p>
  
  <p>I often find my self wondering, if i should wire a child or a grandchild to Redux directly(assuming it needs it), or to pass those props from the parent/grandparent.</p>
  
  <p>For example, i render "Chat" in the Main component this way:</p>
  
  <pre><code> &lt;Chat
      onTyping={this.onTyping}
      onSubmitMessage={(value) =&gt; { this.submitMessage(value) }}
      messages={this.props.messages[this.props.activeFriend] || []}//This comes from Redux
      isMessagingAvailable={this.isMessagingAvailable()}    
    /&gt; 
  </code></pre>
  
  <p>As you can see, i'm passing a "messages" prop, which in turn comes from Redux. I could of course just wire Chat to Redux independently.</p>
  
  <p>The question is then, whether there is some convention regarding the best practice in this situation. <strong>Should every component that consumes global state be wired to Redux directly?</strong></p>