我已經signup.jsx如何通過單擊REACT.js中的按鈕來更改表單域?
import React from "react"
import { render } from "react-dom"
import SignupContainer from "./containers/SignupContainer"
class Signup extends React.Component {
user(){
\t this.props.type='user';
}
hotel(){
\t this.props.type='hotel';
}
render() {
return (
\t \t <div>
\t \t Registration Type :
\t \t <br></br>
\t \t <button onClick={this.user}>user</button>
\t \t <button onClick={this.hotel}>hotel</button>
\t \t <SignupContainer type={this.props.type}/>
\t <h1>Signup</h1>
\t </div>
);
}
}
render(<Signup type='user'/>, document.getElementById('Signup'))
我SignupContainer.jsx
import React from "react"
import Headline from "../components/Headline"
export default class SignupContainer extends React.Component {
render() {
if(this.props.type=='user'){
return (
<div className="container">
<div className="row">
<div className="col-sm-12">
<form action="/loginapp/" method="POST">
First Name:
<input type="text" name="first_name">
</input>
<br></br>
Last Name:
<input type="text" name="last_name"/>
<br></br>
Gender:
<input type="radio" name="gender" value="male" />Male
<input type="radio" name="gender" value="female" /> Female
<br></br>
<input type="submit" value="Submit"/>
</form>
</div>
</div>
</div>
);
} else if(this.props.type=='hotel'){
return(<h1>{this.props.type}</h1>);
}
}
}
我要的是,當我點擊用戶按鈕,然後它應該給我看登記表,當我點擊酒店按鈕,它應該打印酒店而無需重新加載頁面。
你不應該直接修改狀態,但只能使用'的setState()'。看到這裏的說明:https://facebook.github.io/react/docs/component-api.html#setstate – bjudson
@bjudson是正確的,因爲這東西只是沒有渲染任何東西在網頁上 –
哦,是的,完全忘了setState: P – Pankaj