ReactJS - How to use comments?

后端 未结 13 1754
情深已故
情深已故 2020-12-04 08:17

How can I use comments inside the render method in a React component?

I have the following component:

\'use strict\';
          


        
相关标签:
13条回答
  • 2020-12-04 08:26

    To summarize, JSX doesn't support comments, either html-like or js-like:

    <div>
        /* This will be rendered as text */
        // as well as this
        <!-- While this will cause compilation failure -->
    </div>
    

    and the only way to add comments "in" JSX is actually to escape into JS and comment in there:

    <div>
        {/* This won't be rendered */}
        {// just be sure that your closing bracket is out of comment
        }
    </div>
    

    if you don't want to make some nonsense like

    <div style={{display:'none'}}>
        actually, there are other stupid ways to add "comments"
        but cluttering your DOM is not a good idea
    </div>
    

    Finally, if you do want to create a comment node via React, you have to go much fancier, check out this answer.

    0 讨论(0)
  • 2020-12-04 08:28

    Besides the other answers, it's also possible to use single line comments just before and after the JSX begines or ends. Here is a complete summary:

    Valid

    (
      // this is a valid comment
      <div>
        ...
      </div>
      // this is also a valid comment
      /* this is also valid */
    )
    

    If we were to use comments inside the JSX rendering logic:

    (
      <div>
        {/* <h1>Valid comment</h1> */}
      </div>
    )
    

    When declaring props single line comments can be used:

    (
      <div
        className="content" /* valid comment */
        onClick={() => {}} // valid comment
      >
        ...
      </div>
    )
    

    Invalid

    When using single line or multiline comments inside the JSX without wrapping them in { }, the comment will be rendered to the UI:

    (
      <div>
        // invalid comment, renders in the UI
      </div>
    )
    
    0 讨论(0)
  • 2020-12-04 08:31

    {/*
       <Header />
       <Content />
       <MapList />
       <HelloWorld />
    */}

    0 讨论(0)
  • 2020-12-04 08:36

    Here is another approach that allows you to use // to include comments:

    return (
      <div>
        <div>
          {
            // Your comment goes in here.
          }
        </div>
        {
          // Note that comments using this style must be wrapped in curly braces!
        }
      </div>
    );
    

    The catch here is you cannot include a one-line comment using this approach. For example, this does not work:

    {// your comment cannot be like this}
    

    because the closing bracket } is considered to be part of the comment and is thus ignored, which throws an error.

    0 讨论(0)
  • 2020-12-04 08:36

    This is how.

    Valid:

    ...
    render() {
    
      return (
        <p>
           {/* This is a comment, one line */}
    
           {// This is a block 
            // yoohoo
            // ...
           }
    
           {/* This is a block 
             yoohoo
             ...
             */
           }
        </p>
      )
    
    }
    ...
    

    Invalid:

    ...
    render() {
    
      return (
        <p>
           {// This is not a comment! oops! }
    
           {//
            Invalid comment
           //}
        </p>
      )
    
    }
    ...
    
    0 讨论(0)
  • 2020-12-04 08:36

    According to the official site. These are the two ways

    <div>
      {/* Comment goes here */}
      Hello, {name}!
    </div>
    

    Second Example:

    <div>
        {/* It also works 
        for multi-line comments. */}
        Hello, {name}! 
    </div>
    

    Here is the link: https://reactjs.org/docs/faq-build.html#how-can-i-write-comments-in-jsx

    0 讨论(0)
提交回复
热议问题