如何在反应中创建动态链接的功能

时间:2017-12-22 05:03:44

标签: reactjs

当我点击链接时,它会通过从数据库中动态选择id来打开页面。

我需要创建Function,这样我就不必一次又一次地创建链接。

let linkToReminderName='';
if(selectedReminder.Prospect_ID!=='0'){
    linkToReminderName=`/prospect/details/${selectedReminder.Prospect_ID}/contacts`;
}
else if(selectedReminder.Inquiry_ID!=='0'){
    linkToReminderName=`/inquiry/details/${selectedReminder.Inquiry_ID}/contacts`;

}
else if(selectedReminder.Prof_Contact_ID!=='0'){
    linkToReminderName=`/referral/contact/details/${selectedReminder.Prof_Contact_ID}/overall`;

}
let ComLink='';
if(selectedReminder.Prospect_ID!=='0'){
    ComLink=`/prospect/details/${selectedReminder.Prospect_ID}/communications`;

}
else if(selectedReminder.Inquiry_ID!=='0'){
    ComLink=`/inquiry/details/${selectedReminder.Inquiry_ID}/communications`;

}
else if(selectedReminder.Prof_Contact_ID!=='0'){
    ComLink=`/referral/contact/details/${selectedReminder.Prof_Contact_ID}/communications`;

}          

1 个答案:

答案 0 :(得分:0)

首先你应该看一下doc:

  

https://reacttraining.com/react-router/web/example/basic

由于您希望使用函数,只需在函数返回时更改${Id}属性,也可以根据需要切换{Child}组件。

我给你一个简单的例子:

  <Router>
    <div>
      <h2>Accounts</h2>
      <ul>
        <li><Link to=`/prospect/details/${id}`>Netflix</Link></li>
      </ul>

      <Route path="/prospect/details/:id" component={Child}/>
    </div>
  </Router>

如果您想为其添加子路由,我建议您创建路由处理程序或自定义路由。 (再看一下文档)

一个工作示例:https://codepen.io/FabienGreard/pen/KZgwKO