Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to add slash in react router path

I have developed a page with react whose route is

http://example.come/page1

When the url is loaded I need to append a slash at the end of the url like this

http://example.come/page1/

My Routes are like this

  Router history={browserHistory}>
    <Route path='/' component={Home} />
    <Route path='/page1' component={Page1} />
</Router>

I tried to change the path directly to "/page1/" instead of "/page1" but this will not load http://example.com/page1 , It will open only http://example.com/page1/

I want both the path to load the Page1 component

like image 245
John Avatar asked Oct 18 '22 22:10

John


2 Answers

According to this reply, https://github.com/ReactTraining/react-router/issues/820#issuecomment-256814655

Using hooks (onEnter and onChange) with react-router v2 or above may achieve what you need.

like image 102
Andre Lee Avatar answered Oct 20 '22 22:10

Andre Lee


Above answer will work fine and you will achieve what you need. But there is a catch. Open developers tool and click on network tab then refresh your page....you will see status 302 page redirect from WITHOUT trailing slash path to WITH trailing slash path.

And this is not very good. Atleast set status to 301.

How to set status ? https://github.com/ReactTraining/react-router/issues/458

like image 43
Vikas Avatar answered Oct 21 '22 00:10

Vikas