【发布时间】:2018-03-14 07:39:41
【问题描述】:
我在这个网站、官方文档和许多其他地方看到了很多答案。但我无法取得成果。这就是我发布这个问题的原因。
所以,我的问题是我有 3 个文件名为: App.js、SignUp.js 和 Welcome.js。
我的任务是从 SignUp.js 页面获取表单中的值并将该值打印到 Welcome.js 组件。我阅读了有关提升状态和更高阶组件的信息,但无法做到。
感谢任何帮助。
这是我的代码:
App.js:
import React,{Component} from "react";
import {BrowserRouter as Router, Link, Switch, Route} from "react-router-dom";
import SignUp from './SignUp';
import Welcome from './Welcome';
class App extends Component {
render(){
var homeMessage = () =>{
return(<div><SignUp /></div>);
}
return(
<Router>
<div>
<Route exact path="/src/Welcome" component={Welcome}/>
<Route exact path="/" component={homeMessage}/>
</div>
</Router>
);
}
}
export default App;
SignUp.js;
import React,{Component} from "react";
import {Link} from "react-router-dom";
export default class SignUp extends Component {
constructor(props){
super(props);
this.state = {
firstName:''
};
}
inputData = event =>
{
this.setState({
[event.target.name]:event.target.value
});
}
submitData = event =>
{
event.preventDefault();
}
render(){
return(
<div>
<form onSubmit={this.submitData}>
<input type="text" name="firstName" onChange={this.inputData}/>
<button type="submit"> Submit</button>
</form>
<Link to="/src/Welcome">Welcome</Link>
</div>
);
}
}
Welcome.js:
import React,{Component} from "react";
import SignUp from './SignUp';
export default class Welcome extends Component {
render(){
return(
<div>
{this.state.firstName}
</div>
);
}
}
“如果可能的话,请给出答案,然后仅以反应方式而不是 redux 或任何其他库。因为根据 Dan Abramov 文章“Thinking in React”,所以首先我想尝试所有范围仅在反应中可用。”
【问题讨论】:
标签: javascript reactjs react-router