Javascript Reactjs获取URL路径名id
我想使用React JS从URL获取id以从API加载数据 让url为空http://localhost:3000/View/22'; //window.location.href原来不是这个 让对象=新的URL; 让path=object.pathname console.logpath // console.logpath.split'/'.pop尝试以下操作:Javascript Reactjs获取URL路径名id,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我想使用React JS从URL获取id以从API加载数据 让url为空http://localhost:3000/View/22'; //window.location.href原来不是这个 让对象=新的URL; 让path=object.pathname console.logpath // console.logpath.split'/'.pop尝试以下操作: let url = 'http://localhost:3000/View/22'; var id = url.substr
let url = 'http://localhost:3000/View/22';
var id = url.substring(url.lastIndexOf('/') + 1);
试试这个:
let url = 'http://localhost:3000/View/22';
var id = url.substring(url.lastIndexOf('/') + 1);
您可能想做的是使用类似的方法,定义路由并获取组件内的参数。您可能想做的是使用类似的方法,定义路由并获取组件内的参数。如果您正在为应用程序取消react router,您可以使用useParams挂钩获取url参数 检查以下链接。 如果您正在为应用程序取消react router,则可以使用useParams钩子获取url参数 检查以下链接。 使用this.props.match.params.id 在路由器中:
<Route exact path='/View/:id' component={View}></Route>
使用this.props.match.params.id
在路由器中:
<Route exact path='/View/:id' component={View}></Route>
但它看起来很脏,对吗?不是真的,没什么问题。如果你真的想,你可以使用regex,但这不是更好,也不是更糟。如果有人输入/View/22/22/33/44/it get 44而不是22,就会出现安全问题。在这种情况下,通过索引访问值,并非总是通过检索最后一个路由器,您是否在应用程序中使用react router?@gnujoow yes Iam@dannycavanagh您总是会在path对象.pathname.match'[0-9]+'[0]中获得第一个数值,但它看起来很脏,对吗?不是真的,没什么问题。如果你真的想,你可以使用regex,但这不是更好,也不是更糟。如果有人输入/View/22/22/33/44/it get 44而不是22,就会出现安全问题。在这种情况下,通过索引访问值,并非总是通过检索最后一个路由器,您是否在应用程序中使用react router?@gnujoow yes Iam@dannycavanagh您将始终在path对象.pathname.match'[0-9]+'[0]中获得第一个数值这并不能解决OP提到的这个问题:如果有人输入/查看/22/22/33/44/它得到44而不是22这并不能解决OP提到的这个问题:如果有人输入/查看/22/22/33/44/它得到44而不是22