作为标题状态中的问题.

使用react、react router和material ui,在一个地方,我想在卡片组件中创建一个指向外部url的操作按钮,比如

我目前正在考虑添加一个事件处理程序来使用Windows.开放,但这一定是一种更聪明的方式?

在代码看起来像这样之前,我确实找到了一个解决方案.

<CardActions>
   <RaisedButton
       href={this.props.url}
       label="OK"
   />
</CardActions>

解决方案非常简单:

<CardActions>
   <a href={this.props.url} target="_blank">
     <RaisedButton
        label="OK"
     />
   </a>
</CardActions>

推荐答案

如果我们在react router link或material ui按钮中添加外部链接,那么在外部url中添加"http://"(或https://)非常重要.如果没有添加http,链接将无法工作.

错误代码-

<Link target="_blank" to='www.google.com'>Google</Link>

然后重定向链接将

localhost:3000/www.google.com

正确的代码-

如果我们想用react路由链接重定向,那么下面是示例代码-

<Link target="_blank" to='http://www.google.com'>Google</Link>

如果我们想用material ui按钮重定向,那么下面是示例代码-

<Button target="_blank" href="http://www.google.com/">Google</Button>

Note:我在链接/按钮中添加了target="_blank".这是可选的(如果我将在我的网站中添加任何外部链接,那么我将希望在另一个浏览器选项卡中打开该链接,而不是在同一个选项卡中.)

Reactjs相关问答推荐

CSS转换不适用于React MUI对象

如何创建react router v6的自定义子路由?

为什么我的React App.js只在页面刷新时呈现3次?

FireBase未与Reaction应用程序连接

MUiv5和TSS-Reaction SSR问题:无法可靠地处理样式定义.CSSprops 中的ArrowFunctionExpression

React组件未出现

如何在中间件中获取 nextAuth 会话

我从 S3 存储桶下载图像时收到错误

REACT: UseState 没有更新变量(ant design 模态形式)

我可以在加载器函数中多次 fetch() 并使用一次 useloaderdata() 提取它吗?

即使配置了 webpack.config.js,html-loader 也不起作用

我应该如何将字符串作为props 传递给 React 组件?

FlatList 不在 React Native 中呈现项目

顶点图表甜甜圈项目边框半径

如何通过单击多个选项中的特定项目在模态上呈现不同的标题?

如何向 surveyjs 调查添加多个结尾?

用 jest 测试包裹在 redux 和 router 中的组件

错误:无效挂钩调用.钩子只能在函数组件的主体内部调用.使用 next/router 时

在 redux 工具包中使用 dispatch 发送多个操作

react 路由dom没有路由匹配位置错误/在路由中制作组件