Skip to content

Instantly share code, notes, and snippets.

@rdli2020
Created February 17, 2020 18:05
Show Gist options
  • Save rdli2020/16e9091c7290f6f62f36eaa2b63c4768 to your computer and use it in GitHub Desktop.
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
<!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