OMDB Router
In order ease into React Router, we're going to use a familiar API: OMDB. We'll use this API to create a simple application with multiple routes.
Getting Started
Fork and clone the starter repo below to get started.
https://github.com/WDI-SEA/react-omdb
The App
/
- home page with a search form, to display results/results/:imdbID
- page to see movie details/about
- a static about page
OMDB Search Component
After verifying that the starter code runs, let's make a OMDBSearch
component inside a new file src/components/OMDBSearch.jsx
. It should contain the following:
React
A new React component
a
render
function to render some text
Module export
About Component
Let's also make an About
component for our About page. It will be very similar to the component above, inside a new file src/components/About.jsx
, only it will say About.
Modify src/app.jsx
to render these components.
Once finished, run npm start
and navigate to the page. The two components should render on the page.
React Router
Now, let's make this a little more useful by installing react-router
, in order to get the OMDBSearch
and About
components to appear on different pages.
Then, require the following dependencies from react-router
in src/app.jsx
.
These will give us the necessary modules to add routing to the application. Let's add the Router
and set up Routes
in the render
function inside App
.
This is what we need to set up our Router. The Router
component contains the routes and history for our frontend routes. Each Route
component contains a path and a component to render for that route.
Try navigating to http://localhost:3000
and http://localhost:3000/about
and see if the routes work.
Search Route
We're missing one route, the route for search results. We'll need one more component for that route, so let's make a component called ShowMovie
in /src/components/ShowMovie.jsx
.
In the Router, we'll be able to pass parameters through the route, and they'll be available through props
! Completing the Router:
The complete /src/app.jsx
Before moving forward, make sure the routes we defined render components. Our next step will be adding movie search functionality to OMDBSearch
and ShowMovie
.
Last updated