I am creating ReactJS component in a separate js file and I am not sure I understand how does
import React, { Component } from 'react';
work or whether it is the right way. I got it from a tutorial online but not sure whether I am using it correctly and whether I am missing something. I am getting confused as I am not listing full path ro react.js...
Here is my component:
import React, { Component } from 'react';
class Header extends Component {
render(){
return(
<div>
<div className="App-header">
<h2>Header</h2>
</div>
</div>
);
}
}
export default Header;
I am a ReactJs newbie so please do not downvote without explaining why. thanks
UPDATE:
I am trying to move Header component to a separate file and having some trouble.
Here is my working index.html
page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/babel.js"></script>
<title>React App</title>
</head>
<body>
<div id="root"></div>
<script type="text/jsx">
class Header extends React.Component {
render(){
return(
<div>
<div className="App-header">
<h2>Header</h2>
</div>
</div>
);
}
}
class Main extends React.Component {
render() {
return(
<div id="main">
<div className="container">
Main content here
</div>
</div>);
}
}
class Page extends React.Component {
render(){
return(<div>
<Header/>
<Main />
</div>);
}
}
ReactDOM.render(<Page />, document.getElementById('root'));
</script>
</body>
</html>
Now when I try moving my Header to a separate file I get two files index.html
and 'Header.js
:
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../build/react.js"></script>
<script src="../build/react-dom.js"></script>
<script src="../build/babel.js"></script>
<title>React App</title>
</head>
<body>
<div id="root"></div>
<script type="text/jsx">
import Header from './js/Header.js';
class Main extends React.Component {
render() {
return(
<div id="main">
<div className="container">
Main content here
</div>
</div>);
}
}
class Page extends React.Component {
render(){
return(<div>
<Header/>
<Main />
</div>);
}
}
ReactDOM.render(<Page />, document.getElementById('root'));
</script>
</body>
</html>
Header.js:
import React, { Component } from 'react';
class Header extends Component {
render(){
return(
<div>
<div className="App-header">
<h2>Header</h2>
</div>
</div>
);
}
}
export default Header;
When I run it, I get an error `Uncaught ReferenceError: require is not defined`