Home > OS >  React Router v6 and ownParams doesnt work like v5
React Router v6 and ownParams doesnt work like v5

Time:12-19

Hello in react router dom v5 i can get params inside redux. Sample code is below:

1- passing parameter

<Route path="/saveproduct/:productId" component={AddOrUpdateProduct} />

2- get params inside redux. I can get the productId inside ownProps

function mapStateToProps(state, ownProps) {...

But when i call route in v6 i cant get the productId inside ownProps

CodePudding user response:

First, in react-router-dom v6 you should pass component to Route like an element. See docs.

<Route path="/saveproduct/:productId" element={ <AddOrUpdateProduct /> } />

Second,

react-router-dom v6 Route components rendered via the element prop don't receive route props

See question. Redux is not needed here. Just use params react hook

const { productId } = useParams();

CodePudding user response:

Im new at react and it take my one day. But finally i found the solution. I am not sure this is the best practice but it make sense for me now. Check link for solution.

https://youtu.be/qdCHEUaFhBk Also thanks @kupp

  • Related