Łukasz Zubrzycki
Łukasz Zubrzycki

Reputation: 43

react one defintion route path for edit and add form

I would like create ONE Route path for form add and edit. That is posible? If yes how. If no, please let me know what is the best practice. I must define route similar like that:

< Route path="/edituser/:id" component={EditUser} />

< Route path="/edituser" component={EditUser} />

Upvotes: 1

Views: 2367

Answers (1)

Lukas Safari
Lukas Safari

Reputation: 1978

If you read the react-router documentation you will see that you can pass nullable params to the router.

it means that you can check for a param, then if its null then its an Add situation and if not its a edit situation.

in your case you should define you route like this :

<Route path="/edituser/:id?" component={EditUser} />

which is the id is nullable and can be pass or not pass.

and then in the constructor or ComponentDidMount check it like this:

if (typeof this.props.match.params.id === 'undefined')
    //Add
else
    //Edit

Good luck.

Upvotes: 4

Related Questions