繁体   English   中英

单击链接时不会发生任何操作

[英]on clicking Link no action takes place

我正在尝试使用渲染 UpdatePassword 组件的路由器链接将道具传递给 React 中的 UpdatePassword 组件。 我很惊讶,该链接之前有效,但在服务器端进行了一些更改之后,现在当我点击它时,什么也没有发生。 此外,如果我通过手动添加 url 来显示页面,则会呈现组件但发送的数据未定义。 请建议我可以在这里做什么?

我已经在仪表板组件中导入了这些

import {BrowserRouter as Router,withRouter,Link,Switch,Route}  from 'react-router-dom'

这是我在同一组件中的返回语句

   return  <>
       <Header/>
       <div id="wrapper">
        <div id="sidebar-wrapper">
            <ul class="sidebar-nav">
               <Router>
                <li> <Link to ={{pathname :"/updatePassword", state :this.state}}>Update Password</Link> </li>
                <li> <Link to ={{pathname :"/updateUserInfo", state :this.state}}>Update User Details</Link> </li>
               </Router>
             </ul>
        </div>
        <div id="page-content-wrapper">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-lg-12">
                        <h1>Welcome {str2}</h1>
                        <a href="#menu-toggle" class="btn btn-default" id="menu-toggle">Toggle Menu</a>
                        <Router>
                        <Route path='/updatePassword' component ={UpdatePassword}/>
                        </Router>
                 </div>
                </div>
            </div>
        </div>

    </div>
     </>;

在我的 UpdatePassword 组件中,props 的 state 未定义。

请用 -

<Route path='/updatePassword/parameter1/parameter2' component ={UpdatePassword}/>

而不是这个 -

<Route path='/updatePassword' component ={UpdatePassword}/>

而不是这个 -

<li> <Link to ={{pathname :"/updatePassword", state :this.state}}>Update Password</Link> </li>

用这个 -

<li> <Link to={`/updatePassword/${parameter1}/${parameter2}`}>Update Password</Link> </li>

然后像这样在组件上获取参数值 -

let parameter1 = this.props.match.params.parameter1;
let parameter2 = this.props.match.params.parameter2;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM