【问题标题】:on clicking Link no action takes place单击链接时不会发生任何操作
【发布时间】:2020-04-07 10:34:22
【问题描述】:

我正在尝试使用渲染 UpdatePassword 组件的路由器 Link 将道具传递给 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 的状态未定义。

【问题讨论】:

标签: javascript reactjs routing


【解决方案1】:

请使用-

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

而不是这个 -

&lt;Route path='/updatePassword' component ={UpdatePassword}/&gt;

而不是这个 -

<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;

【讨论】:

  • 我尝试了你建议的@alok-mali 方法,链接更改但组件不呈现。我试过这个``` ``
  • 是的,顺便说一句,我发布的原始方法也有效,是一些 CSS 阻碍了点击。
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2016-09-12
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 2012-12-17
  • 2018-06-26
相关资源
最近更新 更多