你好,我有一个应用程序,我想在成功创建一个新房间后重定向用户。我想把他重定向到URL中带有房间ID的页面,但我想用这个重定向发送数据到组件状态。
应用程序内。我有
<Route path="/game/lobby/:id" component={LobbyView} />
IM重定向从CreateRoom组件像这样
if(this.state.redirect) {
return <Redirect to={{
pathname: "/game/lobby/" + this.state.roomId,
state: { ownerName: this.state.roomOwnerName }
}}/>
}
这很好,可以让我改变方向。这是LobbyView的代码
import React, { Component } from 'react';
import {BrowserRouter as Router, Route, Link, match} from 'react-router-dom';
interface DetailParams {
id: string;
}
interface Props {
required: string;
match?: match<DetailParams>;
ownerName?: string;
}
interface State {
roomId?: string;
ownerName?: string;
}
class LobbyView extends Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
roomId: this.props.match?.params.id,
ownerName: this.props.ownerName
};
}
public render() {
if(this.state.ownerName) {
return (
<div>
<h1>{this.props.match?.params.id}</h1>
<strong>You are owner of this room.</strong>
</div>
);
}else {
return (
<h1>{this.props.match?.params.id}</h1>
);
}
}
}
export default LobbyView;
但有一个主要的问题,它重定向我,但总是没有状态参数ownerName...
关键是:房间的创建者将被重定向到URL,以显示房间信息与所有者的其他信息,如果他共享此链接给其他用户,他们将拥有者名称为空,他们不能查看其他信息。
有人能帮我吗?我对react和typescript是新手,我不知道怎么做。。非常感谢:)
位置状态数据将在location.state
中可用:
this.props.location.state?.ownerName
// OR
this.props.history.location.state?.ownerName
因此,您可以:
if(this.props.location.state?.ownerName) {
..
}
查看此历史对象。
并且不需要将数据从“道具”或“位置状态”(您的案例)复制到“组件状态”,除非您有充分的理由这样做。
下面是如何修复组件道具的打字(将其与react-router-dom提供的RouteProps相结合):
import { RouteComponentProps } from "react-router-dom";
interface Params {
id: string;
}
interface LocationState {
ownerName: string;
}
// Static Context is available when you use Static Router*
interface SC {
statusCode?: number;
}
class LobbyView extends Component<Props & RouteComponentProps<Params, SC, LocationState>, State>
*静态路由器
我想获取。我怎样才能得到它?
例如,我试图向www.testjson发出GET请求。com/json,但响应是从不同的域URL检索的,例如www.testjson。com/confirmJson。 Spring mvc是否支持此功能,特别是restTemplate.exchange功能。 我目前正在做这类事情,但我得到一个500状态码(内部服务器错误),无法找出到底是什么导致了错误。 那么RestTemplate真的可以管理重
问题内容: 我有一个网页。该网页将用户重定向到另一个网页,或多或少通过以下方式: 好吧,您知道,我要做的是将GET参数转换为POST参数。不要告诉我这很不好,我知道我自己,这也不是我真正要做的,重要的是我从数组中收集数据并尝试通过POST将其提交到另一个页面。但是,如果用户关闭了JavaScript,它将无法正常工作。我需要知道的是:有没有一种方法可以通过PHP传递POST参数,以便重定向也可以通
基于我之前的问题,我现在需要在响应中添加一个标题。 根据留档,我可以简单地将标头和另一个属性添加到对象。 当我对此进行测试时,它似乎没有携带标头值。 根据这篇文章,为重定向请求设置标题是不可能的。所以除了重定向,也许我应该试试别的? 有什么想法吗?
环境 OS:Redhat 7 ReverseProxy:Apache(仅限) 通过:Docker 部署 ====================================================================================================================== 问题: 是否可以在Apache反向代理中进行更改,以便通过
问题内容: 我正在尝试在Spring MVC应用程序中实现RESTful URL。除了处理表单提交之外,一切都很好。我需要重定向回原始表单或“成功”页面。 但是,正如我在Spring文档中所阅读的那样,如果您重定向了任何参数,则会将其放入url。那对我不起作用。解决此问题的最优雅方式是什么? 问题答案: http://jira.springframework.org/browse/SPR-6464