I am very new to React and I am learning as I go. I have set up a react app using Create React App. The default file structure puts everything in src with no sub folders. I wanted my app to be more organized so I added a folder inside src called components, inside that folder is a folder called header and there is a file called header.js in there. Here is my file structure:
src
-index.css
-index.js
-components/
--header/
---header.css
---header.js
Here is the index.js code:
import React from 'react';
import ReactDOM from 'react-dom';
import 'bootstrap/dist/css/bootstrap.min.css';
import './index.css';
import Header from './components/header/header';
import registerServiceWorker from './registerServiceWorker';
ReactDOM.render(<Header />, document.getElementById('root'));
registerServiceWorker();
Here is the header.js code:
import React, { Component } from 'react';
import './header.css';
import {
Collapse,
Navbar,
NavbarToggler,
NavbarBrand,
Nav,
NavItem,
NavLink
} from 'reactstrap';
class Header extends Component {
constructor(props) {
super(props);
this.toggle = this.toggle.bind(this);
this.state = {
isOpen: false
};
}
toggle() {
this.setState({
isOpen: !this.state.isOpen
});
}
render() {
return (
<header>
<Navbar color="inverse" light expand="md">
<NavbarBrand href="/"><span className="first">Kate The</span> <span className="second">Dev</span></NavbarBrand>
<NavbarToggler onClick={this.toggle} />
<Collapse isOpen={this.state.isOpen} navbar>
<Nav className="ml-auto" navbar>
<NavItem>
<NavLink href="/about/">About</NavLink>
</NavItem>
<NavItem>
<NavLink href="/projects">Projects</NavLink>
</NavItem>
<NavItem>
<NavLink href="https://vigilantebanana.github.io/">Workshop</NavLink>
</NavItem>
</Nav>
</Collapse>
</Navbar>
</header>
);
}
}
export default Header;
When I use 'npm start' I get this error:
Failed to compile
./src/index.js
Module not found: Can't resolve './components/header/header' in '/home/kshaw/thunderclap/src'
I have looked for an answer online but I have not found one. As far as I understand the create-react-app, webpack should already be configured correctly. I don't want to have to eject in order to get these folders to work. Any help would be appreciated. Thanks.
Edit: I poked around in Chrome dev tools and it is not even showing the header folder in sources.