简体   繁体   中英

Stateless component: A valid React element (or null) must be returned

I'm new to ReactJS.

I'm trying to display Hello world using the code below, but I get this error message:

What am I missing?

Code for App.js

//App.js`

import React from 'react';

const App = () => "<h1>Hello World!</h1>";

export default App;

Code for index.js

//index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(
  <App />,
  document.getElementById('root')
);

Code for /public/index.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>React App</title>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

You can't wrap a JSX element in quotes.

Change this

const App = () => "<h1>Hello World!</h1>";

by this

const App = () => <h1>Hello World!</h1>;

You can also write it like this

const App = () => {    
  return <h1>Hello World!</h1>;
};

Or like this

const App = () => {
  return (
    <h1>
      Hello World!
    </h1>
  );
};

You can also write it this way and avoid the return statement.

Notice the absence of curly braces, it took me some time to notice they were simple parentheses.

const App = () => (
  <h1>
    Hello World !
  </h1>
)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM