Created
February 17, 2020 18:05
-
-
Save rdli2020/16e9091c7290f6f62f36eaa2b63c4768 to your computer and use it in GitHub Desktop.
CSS, JSX, Component, Props, State, Event, Lifecycle, form // source https://jsbin.com/cinotof
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<title>CSS, JSX, Component, Props, State, Event, Lifecycle, form</title> | |
<script src= "https://unpkg.com/react@16/umd/react.production.min.js"></script> | |
<script src= "https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script> | |
<script src= "https://unpkg.com/[email protected]/babel.min.js"></script> | |
<style> | |
$myColor: red; | |
h1 { | |
color: $myColor; | |
} | |
</style> | |
<body> | |
<div id="root"></div> | |
<script type="text/babel"> | |
const dt = new Date().getTime(); | |
class Welcome extends React.Component { | |
constructor(props) { | |
super(props); | |
this.state = { | |
color: "red", | |
username: '' | |
}; | |
} | |
changeColor = (mycolor, ev) => { | |
console.log(ev.target); // event element | |
this.setState({color: mycolor}); | |
} | |
static getDerivedStateFromProps(props, state) { | |
return {color: props.name }; // getDerivedStateFromProps always run before render | |
} | |
myChangeHandler = (event) => { | |
this.setState({username: event.target.value}); | |
} | |
render() {return( | |
<div> | |
<h1>Hello, {this.props.name}, {dt}!</h1> | |
<p style={{color: "green", "background-color": "coral"}}>It is a {this.state.color}</p> | |
<button type="button" onClick={(ev) => this.changeColor("new color", ev)}>Change color</button> | |
<form> | |
<h1>Hello {this.state.username}</h1> | |
<input type='text' placeholder="Input name here" | |
onChange={this.myChangeHandler} | |
/> | |
</form> | |
</div> | |
);} | |
} | |
ReactDOM.render(<Welcome name = "White"/>, document.getElementById('root')); | |
</script> | |
<script id="jsbin-source-html" type="text/html"><!DOCTYPE html> | |
<html lang="en"> | |
<title>CSS, JSX, Component, Props, State, Event, Lifecycle, form</title> | |
<script src= "https://unpkg.com/react@16/umd/react.production.min.js"><\/script> | |
<script src= "https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"><\/script> | |
<script src= "https://unpkg.com/[email protected]/babel.min.js"><\/script> | |
<style> | |
$myColor: red; | |
h1 { | |
color: $myColor; | |
} | |
</style> | |
<body> | |
<div id="root"></div> | |
<script type="text/babel"> | |
const dt = new Date().getTime(); | |
class Welcome extends React.Component { | |
constructor(props) { | |
super(props); | |
this.state = { | |
color: "red", | |
username: '' | |
}; | |
} | |
changeColor = (mycolor, ev) => { | |
console.log(ev.target); // event element | |
this.setState({color: mycolor}); | |
} | |
static getDerivedStateFromProps(props, state) { | |
return {color: props.name }; // getDerivedStateFromProps always run before render | |
} | |
myChangeHandler = (event) => { | |
this.setState({username: event.target.value}); | |
} | |
render() {return( | |
<div> | |
<h1>Hello, {this.props.name}, {dt}!</h1> | |
<p style={{color: "green", "background-color": "coral"}}>It is a {this.state.color}</p> | |
<button type="button" onClick={(ev) => this.changeColor("new color", ev)}>Change color</button> | |
<form> | |
<h1>Hello {this.state.username}</h1> | |
<input type='text' placeholder="Input name here" | |
onChange={this.myChangeHandler} | |
/> | |
</form> | |
</div> | |
);} | |
} | |
ReactDOM.render(<Welcome name = "White"/>, document.getElementById('root')); | |
<\/script> | |
</body> | |
</html> | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment