COURSES
MBAData Science & AnalyticsDoctorate Software & Tech AI | ML MarketingManagement
Professional Certificate Programme in HR Management and AnalyticsPost Graduate Certificate in Product ManagementExecutive Post Graduate Program in Healthcare ManagementExecutive PG Programme in Human Resource ManagementMBA in International Finance (integrated with ACCA, UK)Global Master Certificate in Integrated Supply Chain ManagementAdvanced General Management ProgramManagement EssentialsLeadership and Management in New Age BusinessProduct Management Online Certificate ProgramStrategic Human Resources Leadership Cornell Certificate ProgramHuman Resources Management Certificate Program for Indian ExecutivesGlobal Professional Certificate in Effective Leadership and ManagementCSM® Certification TrainingCSPO® Certification TrainingLeading SAFe® 5.1 Training (SAFe® Agilist Certification)SAFe® 5.1 POPM CertificationSAFe® 5.1 Scrum Master Certification (SSM)Implementing SAFe® 5.1 with SPC CertificationSAFe® 5 Release Train Engineer (RTE) CertificationPMP® Certification TrainingPRINCE2® Foundation and Practitioner Certification
Law
Job Linked
Bootcamps
Study Abroad
MS in Data AnalyticsMS in Project ManagementMS in Information TechnologyMasters Degree in Data Analytics and VisualizationMasters Degree in Artificial IntelligenceMBS in Entrepreneurship and MarketingMSc in Data AnalyticsMS in Data AnalyticsMS in Computer ScienceMaster of Science in Business AnalyticsMaster of Business Administration MS in Data ScienceMS in Information TechnologyMaster of Business AdministrationMS in Applied Data ScienceMaster of Business Administration | STEMMS in Data AnalyticsM.Sc. Data Science (60 ECTS)Master of Business AdministrationMS in Information Technology and Administrative Management MS in Computer Science Master of Business Administration MBA General Management-90 ECTSMSc International Business ManagementMS Data Science Master of Business Administration MSc Business Intelligence and Data ScienceMS Data Analytics MS in Management Information SystemsMSc International Business and ManagementMS Engineering ManagementMS in Machine Learning EngineeringMS in Engineering ManagementMSc Data EngineeringMSc Artificial Intelligence EngineeringMPS in InformaticsMPS in Applied Machine IntelligenceMS in Project ManagementMPS in AnalyticsMS in Project ManagementMS in Organizational LeadershipMPS in Analytics - NEU CanadaMBA with specializationMPS in Informatics - NEU Canada Master in Business AdministrationMS in Digital Marketing and MediaMSc Sustainable Tourism and Event ManagementMSc in Circular Economy and Sustainable InnovationMSc in Impact Finance and Fintech ManagementMS Computer ScienceMS in Applied StatisticsMaster in Computer Information SystemsMBA in Technology, Innovation and EntrepreneurshipMSc Data Science with Work PlacementMSc Global Business Management with Work Placement MBA with Work PlacementMS in Robotics and Autonomous SystemsMS in Civil EngineeringMS in Internet of ThingsMSc International Logistics and Supply Chain ManagementMBA- Business InformaticsMSc International ManagementMBA in Strategic Data Driven ManagementMSc Digital MarketingMBA Business and MarketingMaster of Business AdministrationMSc in Sustainable Global Supply Chain ManagementMSc Digital Business Analytics MSc in International HospitalityMSc Luxury and Innovation ManagementMaster of Business Administration-International Business ManagementMS in Computer EngineeringMS in Industrial and Systems EngineeringMSc International Business ManagementMaster in ManagementMSc MarketingMSc Business ManagementMSc Global Supply Chain ManagementMS in Information Systems and Technology with Business Intelligence and Analytics ConcentrationMSc Corporate FinanceMSc Data Analytics for BusinessMaster of Business AdministrationMaster of Business AdministrationMaster of Business AdministrationMSc in International FinanceMSc in International Management and Global LeadershipMaster of Business AdministrationBachelor of BusinessMaster of Business Administration 60 ECTSMaster of Business Administration 90 ECTSMaster of Business Administration 90 ECTSBachelor of Business AnalyticsBachelor of Information TechnologyMaster of Business AdministrationMBA Business AnalyticsMSc in Marketing Analytics and Data IntelligenceMS Biotechnology Management and EntrepreneurshipMSc in Luxury and Fashion ManagementMaster of Business Administration (90 ECTS)Bachelor of Business Administration (180 ECTS)B.Sc. Computer Science (180 ECTS) MSc in International Corporate Finance MSc in Sustainable Luxury and Creative IndustriesMSc Digital Marketing
For College Students

Styling in React - A Complete Guide

$$/$$

 

Styling makes a website look better. It is used to give a better appearance to the DOM elements. This is analogous to how painting the walls of your house makes them look better.

$$/$$

Now that you know that React offers styling in two ways — inline and external, let’s look at how to change the looks of the Phone Directory application using both the ways.

$$/$$

You learned the inline way of styling components, which is quite different from styling in HTML. So, here, you get another way in which JSX differs from HTML.

 

Given below is an example that shows two approaches of using inline styling to style the Header  component inside the Phone Directory app.

 

Example (Inline Styling):

 

Approach 1 - Directly writing style alongside JSX:

<div style={{textAlign: 'center', padding: 20, background: '#000', color: '#fff', textTransform: 'uppercase'}}>
   Phone Directory
</div>

Approach 2 - Moving style as constant object:
const headerStyle = {
   textAlign: 'center',
   padding: 20,
   background: '#000',
   color: '#fff',
   textTransform: 'uppercase'
};

<div style={headerStyle}>
   Phone Directory
</div>

 

You can commit your code with “Styled ‘Header’ (Inline Styling)” as the commit message and view the diff here.

 

 

Let’s look at another way of styling these components

$$/$$

As seen in the last video, external styling is quite similar to using external CSS.

 

 

Commit your code at this stage with “Styled ‘Header’ (External Styling)” as the commit message. You can view the code diff here.

 

 

Notes:

  • Inline Styling

  1. It allows you to write styles in the same line with the element or component. This is why it is called ‘inline’ styling.
     

  2. The style  property is used with the element or component to be rendered into the DOM.
     

  3. The style  property accepts a JavaScript object enclosed in curly braces.
     

  4. Two curly braces are used with the style property — one to evaluate the expression inside the JSX code and the other to represent a JavaScript object, which is taken as input by the style  property.

    <div style={{}}>
       Phone Directory
    </div>
    

    ​​​

  5. The property names look like CSS property names, but they are not exactly like them. These names are actually JavaScript identifiers; they can be considered as the keys (or properties) of a JavaScript object.
     

  6. The property names must be written in camelCase. Unlike CSS, hyphens are not allowed in JSX because the JSX code gets converted to JavaScript code, and hyphens are not allowed in JavaScript identifiers.

    <div style={{textTransform: 'uppercase'}}>
       Phone Directory
    </div>
    

    This is the reason why textTransform is written in camelCase in JSX unlike text-transform in CSS. In case you fail to follow this, you will get an error saying “Uncaught SyntaxError: Inline Babel script: Unexpected token”.
     

  7. The property values look like CSS property values, but they are not exactly like them. These values can be considered the values corresponding to the keys (or properties) in a JavaScript object. Since all the values in JavaScript must be of a valid datatype, care must be taken regarding each value correctly mapping to a valid datatype in JavaScript.

    <div style={{background: '#000'}}>
       Phone Directory
    </div>
    

    This is the reason why '#000' is written inside quotes, because it corresponds to a string value. In CSS, you must write it without quotes in order to make it work.
     

  8. All property-value pairs are separated using the comma operator. The reason is that the style  property accepts a JavaScript object where a comma should be used in contrast to a CSS style, where a semicolon is used instead.
     

  9. When a component or element is styled by moving out style as a constant object, only one pair of curly braces is used in the style property. 

 

  • External Styling

  1. Write all the styles in an external stylesheet. This is similar to writing external CSS.
     

  2. Import this stylesheet in the file where the component or element is defined on which you want to apply the given style. Note that since the extension of a stylesheet is .css (not equivalent to .js or .jsx), you need to specify the file extension while writing the import statement for a stylesheet.

 

Watch the next video to take up a challenge!

$$/$$

The home page after styling should look like this:

 

 

 

‘Pretty’ job!

 

You can see the solution code here for styling the App  component, which is your home page.