javascript - 使用 ReactJS 提交后重定向
问题描述
我有一个简单的表格,只需要一个用户名。我想在他们提交用户名后重定向我的用户,但我真的不明白该怎么做。
这是我的class App
,在渲染通道路径正常工作。
import React, { Component } from 'react';
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
import './App.css';
import axios from 'axios';
import { withRouter } from 'react-router-dom';
import Channel from "./channels/Channel.js";
import 'whatwg-fetch';
import openSocket from 'socket.io-client';
const socket = openSocket('http://localhost:1270');
class App extends Component {
constructor(props) {
super(props);
this.state = { value: '' };
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({ value: event.target.value });
}
handleSubmit(event) {
const nom = this.state.value;
alert(nom);
event.preventDefault();
this.props.history.push('/channels');
}
render() {
return (
<Router>
<div>
<p>Entrez un nom d'utilisateur :</p>
<form onSubmit={this.handleSubmit} >
<input type="text"
name="name"
value={this.state.value}
onChange={this.handleChange}
/>
<input type="submit" value="GO" />
</form>
<Link to="/channels">Channels</Link>
</div>
<Route path="/channels" component={ Channel }>
<Channel />
</Route>
</Router>
);
}
}
export default App;
但是,当我尝试向 Submit 事件添加重定向时,我收到了该错误
this.props.router is undefined
解决方案
推荐阅读
- android-ndk - Android Studio 构建 ndk 项目找不到“字符串”文件
- c - 指针如何访问结构的数据成员
- php - PHP如何将多个复选框值插入数据库
- java - 如何优化此代码以减少评估时间
- java - 捕获运行时异常是否比之前的条件判断更好以避免异常
- python - unable to requests.get() a website, 'Remote end closed connection without response'
- python - python - 如何计算矩阵A与其他矩阵B python的单个互相关系数?
- java-9 - signed modular JAR with crypto provider cannot be linked into run-time image
- java - 如何在java中以字节数据类型存储大于127的值
- javascript - 如何在输入文本上显示 QRC 扫描结果