如何使用 React 打开另一个选项卡



我写了一段简单的代码来使用 React 打开另一个选项卡。它目前不起作用。我认为一些非常简单的事情出了问题,但我不确定在哪里。

Message.component.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import { fetchData, GET } from '../DAL';
import Inbox from "/Messages/GetMessages"; 


<Route path="/Messages/GetMessages" component={MENU.inbox} /> 
handleClick()
{
//this will open the inbox in a new tab 
window.open("/Messages/GetMessages");
}

我已经在 Dal.js 文件中添加了引用

达尔.js

export function fetchData(API)
{
return getAsync(API);
}
async function getAsync(API)
{
try
{
let response = await fetch(API);
let data = await response.json();
data = JSON.parse(data);
return data;
} 
catch (e)
{
console.log("ERROR FOUND IN " + API, e);
return [];
}
}
export const GET = {
INBOX:'Messages/GetMessages'}

它也在菜单组件中,因此可以看到它的使用位置。

Menu.component.jsx

import React from 'react';
import { Button, Icon } from 'semantic-ui-react'

export const MENU = {
INBOX: 'INBOX'
};
export default class MainMenu extends React.Component {
constructor(props)
{
super(props)
this.state = {
active: MENU.ASSETS
};
}
_onClick = (item) =>
{
if (this.state.active !== item)
{
this.setState({active: item})
}
() => this.props.visible();
}
_triggerUserProfile()
{
showEditUserForm(51, 10)
}
render() {
let buttonStyle = {backgroundColor: '#5d7090', color: 'white'};
let icon = this.props.icon;
return (
<MainMenuContainer>
<div style={{margin: '5px'}}>
<img width='75px' style={{marginBottom: '5px'}} src="Content/img/logo_white.svg"/>
<IconButton onClick={() => this.props.visible()}>
<Icon name={icon}></Icon>
</IconButton>
<span onClick={() => this._triggerUserProfile()} style={{float: 'right', color: 'white',    marginBottom: 'auto', marginTop:'7px', cursor: 'pointer'}}>Welcome Back, Alex! <Icon name='chevron down'></Icon></span>
</div>
<div>
<Button animated='vertical' style={buttonStyle}  onClick={() =>      
this.props.handleClick(MENU.INBOX)}>
<Button.Content hidden>Inbox</Button.Content>
<Button.Content visible>
<Icon name='mail' />
</Button.Content>
</Button>
</div>
</MainMenuContainer>

目前没有任何反应,反应无声地崩溃。

你可以这样尝试:window.open("url","_self"(;

你正在寻找

window.open('url', '_blank');

相关内容

  • 没有找到相关文章

最新更新