Hen*_*kGr 16 reactjs react-router material-ui
作为标题状态的问题.
使用react,react-router和material-ui在一个地方我想在Card组件中创建一个操作按钮链接到外部URL,就像没有成功一样.
我目前正在考虑添加一个事件处理程序来使用window.open,但它必须是一个更聪明的方法吗?
在代码看起来像这样之前,我确实找到了解决方案.
<CardActions>
   <RaisedButton
       href={this.props.url}
       label="OK"
   />
</CardActions>
Run Code Online (Sandbox Code Playgroud)
解决方案非常简单:
<CardActions>
   <a href={this.props.url} target="_blank">
     <RaisedButton
        label="OK"
     />
   </a>
</CardActions>
Run Code Online (Sandbox Code Playgroud)
    Arp*_*pit 19
如果我们在react-router Link或material-ui Button中添加外部链接那么重要的是我们在外部URL中添加'http://'(或https://).没有添加http链接将无法正常工作.
错误的代码 -
<Link target="_blank" to='www.google.com'>Google</Link>
Run Code Online (Sandbox Code Playgroud)
然后重定向链接将
localhost:3000/www.google.com
Run Code Online (Sandbox Code Playgroud)
正确的代码 -
如果我们想用react-router Link重定向,那么这是示例代码 -
<Link target="_blank" to='http://www.google.com'>Google</Link>
Run Code Online (Sandbox Code Playgroud)
如果我们想要使用material-ui Button重定向,那么这是示例代码 -
<Button target="_blank" href="http://www.google.com/">Google</Button>
Run Code Online (Sandbox Code Playgroud)
        您可以将组件包装<RaisedButton />到<Link />内部路由中.
<Link to={this.props.cardItem.resourceUrl}>
  <RaisedButton label="Ok" />
</Link>
Run Code Online (Sandbox Code Playgroud)
并包装成<a>外部的简单标记:
<a href={this.props.cardItem.resourceUrl}>
  <RaisedButton label="Ok" />
</a>
Run Code Online (Sandbox Code Playgroud)
        您应该使用 target、component 和 href 属性
<Button                
   target="_blank"
   component="a"
   href="http://www.google.com/"
>
 Google
</Button>
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           14902 次  |  
        
|   最近记录:  |