freeCodeCamp/curriculum/challenges/english/03-front-end-libraries/react/add-comments-in-jsx.english.md

2.1 KiB

id title challengeType isRequired
5a24bbe0dba28a8d3cbd4c5e Add Comments in JSX 6 false

Description

JSX is a syntax that gets compiled into valid JavaScript. Sometimes, for readability, you might need to add comments to your code. Like most programming languages, JSX has its own way to do this. To put comments inside JSX, you use the syntax {/* */} to wrap around the comment text.

Instructions

The code editor has a JSX element similar to what you created in the last challenge. Add a comment somewhere within the provided div element, without modifying the existing h1 or p elements.

Tests

tests:
  - text: The constant <code>JSX</code> should return a <code>div</code> element.
    testString: 'assert(JSX.type === "div", "The constant <code>JSX</code> should return a <code>div</code> element.");'
  - text: The <code>div</code> should contain an <code>h1</code> tag as the first element.
    testString: 'assert(JSX.props.children[0].type === "h1", "The <code>div</code> should contain an <code>h1</code> tag as the first element.");'
  - text: The <code>div</code> should contain a <code>p</code> tag as the second element.
    testString: 'assert(JSX.props.children[1].type === "p", "The <code>div</code> should contain a <code>p</code> tag as the second element.");'
  - text: The <code>JSX</code> should include a comment.
    testString: 'getUserInput => assert(getUserInput("index").includes("/*") && getUserInput("index").includes("*/"), "The <code>JSX</code> should include a comment.");'

Challenge Seed

const JSX = (
  <div>
    <h1>This is a block of JSX</h1>
    <p>Here's a subtitle</p>
  </div>
);

After Test

console.info('after the test');

Solution

const JSX = (
<div>
  <h1>This is a block of JSX</h1>
  { /* this is a JSX comment */ }
  <p>Here's a subtitle</p>
</div>);