1. Home
  2. Training Library
  3. Thinking in React: Static Versions

React and Data

Developed with



The course is part of this learning path

Application and Service Development with ReactJS
course-steps 9 certification 5 lab-steps 3
React and Data


This module looks at more complex data structures, building on what was covered in the intermediate data structures module.

Learning Objectives 

The objectives of this module are to provide you with an understanding of: 

  • How to construct a factor in R  
  • How to construct a data frame in R  
  • How to modify a data frame  
  • How to subset a data frame
  • Data frames automatically factorising data in R  

Intended Audience 

Aimed at all who wish to learn the R programming language. 


No prior knowledge of R is assumed.

Delegates should already be familiar with basic programming concepts such as variables, scope, and functions.

Experience of another scripting language such as Python or Perl would be an advantage.

Understanding mathematical concepts will be beneficial.


We welcome all feedback and suggestions - please contact us at qa.elearningadmin@qa.com to let us know what you think.


- [Facilitator] React is primarily for taking some data, and creating a UI to display it, so it's important to understand it's relationship with data. The most important thing to remember about React and data is that data flow is unidirectional. Data flows from the top of the component tree to the bottom. It can't flow back up the component tree. React provides two mechanisms for dealing with data, props and state. We need to think about the stability of the data. Data that does not change over the lifetime of a component should be considered as props. Data that can change should be considered as state. State should be the single source of truth for changing data, and should be kept in the highest common component of those that need the data. So any component lower down the tree that depends on it should receive the data as props.

About the Author

Learning paths3

An outstanding trainer in software development with more than 15 years experience as a Corporate and Apprentice Trainer, ICT Teacher and Head of Department, with a passion for technology and its uses. Continuing to develop existing and new skills and courses, primarily in web design using PHP, JavaScript, HTML, CSS and SQL but also OOP (Java), programming foundations (Using Python), DevOps (Git, CI/CD, etc) and Agile/Scrum. Practically minded, a quick learner and a problem solver with an attention to detail to ensure high quality outcomes.