title: Do I have to save every React component state property to the Redux store?
body: <p>I have read multiple articles on the need to use Redux and have built two fully-functioning React+Redux applications. I have even posted the question on <a href="https://www.quora.com/Do-I-have-to-use-Redux-to-manage-every-single-state-property-in-my-app-when-most-of-them-seem-to-be-manageable-in-a-local-level-parent-child-component" rel="nofollow noreferrer">Quora</a> I still cannot have a final answer to my question:<br>
  <strong>Do I have to save every component state property to the Redux store?</strong> </p>
  
  <p>The first project, I have built by following a tutorial where he basically saves everything to the store.<br>
  Here's the <a href="https://github.com/AGSTRANGER/devconnectorByAG" rel="nofollow noreferrer">Github link</a>.<br>
  Since I was learning React and Redux, I did not question this approach and went on with it. But, it does seem somewhat unnecessary to save everything to the store<br>
  For example, there's an action that saves the comment data to the store: </p>
  
  <blockquote>
    <p>postActions.js</p>
  </blockquote>
  
  <pre><code>// Add Comment
  export const addComment = (postId, commentData) =&gt; dispatch =&gt; {
    dispatch(clearErrors());
    axios
      .post(`/api/posts/comment/${postId}`, commentData)
      .then(res =&gt;
        dispatch({
          type: GET_POST,
          payload: res.data
        })
      )
      .catch(err =&gt;
        dispatch({
          type: GET_ERRORS,
          payload: err.response.data
        })
      );
  };
  </code></pre>
  
  <p>And it is called like this:  </p>
  
  <blockquote>
    <p>CommentForm.js</p>
  </blockquote>
  
  <pre><code>  onSubmit(e) {
      e.preventDefault();
  
      const { user } = this.props.auth;
      const { postId } = this.props;
  
      const newComment = {
        text: this.state.text,
        name: user.name,
        avatar: user.avatar
      };
  
      this.props.addComment(postId, newComment);
      this.setState({ text: '' });
    }
  </code></pre>
  
  <p>If I were working on my own project, I would've kept the message data stored locally at the component level:</p>
  
  <p>The second project was a personal project, where the only data I saved in the store, is the user account information because I would need it in different components throughout the app to send it in some backend API requests.<br>
  All the other components are basically independent or the flow between them does not go beyond two or three components. So I really could not see why I would make myself code all the actions, reducers...etc for all of the components. So I simply pass the props and functions between components in the plain old react way of doing things. </p>
  
  <p>Most of the answers that I found do not go into this specific detail mentioned in my question. All of them talk from a high-level perspective.  </p>
  
  <p>Before going ahead and working on other projects, I would like to :</p>
  
  <ol>
  <li>A clear answer to my question</li>
  <li>Whether the approach I used for my personal project is okay. In other words, can I use Redux simply for the user account information and for the rest of the components not use it?</li>
  </ol>
  
  <p>I just want to clear this confusion so that when I am using Redux, I am 100% sure, I am using it because I actually need it.</p>