大佬教程收集整理的这篇文章主要介绍了如果 id 与 path='/admin/edit/:id' 不匹配,那么它应该转到 Reactjs 中的 NOTFOUND 页面,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 path='/admin/edit/:ID' 精确组件 ={Edit} 中传递那些在表中注册的 ID。但是当我传递任何其他值时,它会返回到编辑组件。如果这些 ID 与表中的 ID 匹配,我只想转到编辑页面。如果这些不匹配,那么它应该转到 NOTFOUND 页面而不更改 url
例如:
array = [ { ID=1,name='ash' },{ ID=2,name='ash' } ]
@H_874_13@如果 array.ID 匹配 path='/admin/edit/:ID' 那么它应该转到他们的页面,但如果没有,那么它应该转到NotFound 页面而不更改 url。网址不应更改。
有人请帮忙
admin.Jsx
const history = useHistory(); const[students,setstudents] = React.useState(()=> JsON.parse(localstorage.getItem('students')) || []) const editstudent = (event)=>{ let found = students.map(student=>student.ID).includes(number(event.currentTarget.ID)) if(found){ history.push(`/admin/edit/${number(event.currentTarget.ID)}`) } }
@H_874_13@App.Jsx
函数应用(){
返回(
<Router> <div> <Switch> <Route path ="/" exact component={SignIn}/> <Route path='/admin/edit/:ID' exact component = {Edit}/> <Route path = '/admin/add' exact component = {AdD} /> <Route path = "/register" exact component = {Register} /> <Route path ="/admin" exact component={admin}/> <Route component={NotFounD} /> </Switch> </div> </Router> );
@H_874_13@} 编辑.Jsx
const [students,setstudents] = React.useState(JsON.parse(localstorage.getItem('students')) || [])
const { ID } = useParams(); let unique_student_array = students.filter(student=>student.ID == ID) let found_ID = students.map(student=>student.ID).includes(number(ID)); if(!found_ID){ // I want to redirect to **NOTFOUND PAGE** }
@H_874_13@解决方法
function MyComponent({something}){ if (something) return <NotFoundComponent /> return <ActualComponent /> }
@H_874_13@如果
something
否则,它将正常呈现
大佬总结
以上是大佬教程为你收集整理的如果 id 与 path='/admin/edit/:id' 不匹配,那么它应该转到 Reactjs 中的 NOTFOUND 页面全部内容,希望文章能够帮你解决如果 id 与 path='/admin/edit/:id' 不匹配,那么它应该转到 Reactjs 中的 NOTFOUND 页面所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。