Learn once, Write anywhere
Created by NTUgEEkJavascript library released by Facebook in 2015 for web front-end
npm init
npm install --save react react-dom
npm install -g create-react-app
create-react-app appName
cd appName && npm start
// index.js
ReactDOM.render(
WooooooooW
,
document.getElementById('root')
>
See doc
Similar to OOP conceptually
Create your own HTML tags!
import React, { Component } from 'react';
class Hello extends Component {
render() {
return (
Heeeeeeeeello
)
}
}
export default Hello;
See doc
Similar to data member conceptually(initialized on creation)
import React, { Component } from 'react';
class Hello extends Component {
render() {
return (
Hi, {this.props.text}
)
}
}
export default Hello;
Essentially a js object(dictionary)
class Clock extends Component {
constructor(props) {
super(props);
this.state = {
time: 0
}
}
render() {
setInterval(() => this.setState({time: new Date.getUTCSeconds()}), 1000)
return (
It's {this.state.seconds}
)
}
}
setState
to modify stateComponent's events
componentWillMount()
: runs before the component output has been renderedcomponentDidMount()
: runs after the component output has been renderedFor more information, refer to the doc above
Managing state easily
DocRedux is a predictable state container for Javascript app
state
as part of UI.actionCreator
.Reducer
get notified and return the new state
.Component
is rerendered.connect
to connect to redux
statedispatch
propsmapStateToProps
to take redux
state to props