如何验证React路由器的路由参数

时间:2019-10-02 08:09:18

标签: reactjs react-router

我将函数用于generatePath。如果未传递路线所需的参数,则会收到错误消息。

const route = ':id/:id2'
generatePath(route, { id: 'id' }) 
Uncaught TypeError: Expected 'id2' to be defined

我正在寻找一种在generatePath中使用之前验证路线的方法。

1 个答案:

答案 0 :(得分:0)

您可以简单地创建一个包装generatePath并捕获错误的函数,而不必使用generatePath进行验证:

function safeGeneratePath() {

 const route = ':id/:id2'

 try {

   const path = generatePath(route, { id: 'id' }) 
   return path

 } catch(error){

   // do something here if it fails
   return null // for example

 }
}