Simple code
Class Component - Containers, Smart, Stateful
import React, { Component } from "react";
import Person from "./Person/Person";
class App extends Component {
state = {
person: [
{name: "Harry", age: 24}
]
};
switchNameHandler = (newName) => {
this.setState({
person: [
{name: newName, age: 24}
]
});
};
nameChangedHandler = (event) => {
this.setState({
person: [
{name: event.target.value, age: 24}
]
});
};
render() {
return (
<div className="App">
// first way to pass arugments to event handlers
<button onClick={() => this.switchNameHandler("Harry Lu")}>Switch Name</button>
<Person
name={this.state.person[0].name}
age={this.state.person[0].age}
// second way to pass augments to event handlers
click={this.switchNameHandler.bind(this, "Harry!!!")}
changed={this.nameChangedHandler}
> My Hobbies: Sing, Dance, Rap, Basketball
</Person>
</div>
);
}
}
export default App;Functional Component - Presentational, Dumb, Stateless
Three way to handle events
ErrorBoundary
Three ways using Higher Order Component
Better way to use setState() callback
Render Lists Conditionally
Controlled Component
Uncontrolled Component
React Lazy & Suspense
Context & Ref & Fragment & PropTypes
forwardRef
Portals
pass a parameter to an event handler or callback
Last updated