React
Props n State
App.js
import React, {Component} from 'react'
class App extends Component {
render(){
return (
<div>
<h1>Hello, World!</h1>
</div>
)
}
}
export default App
import React, {Component} from 'react'
class App extends Component {
constructor(){
super()
this.state = {
location: 'World""
}
}
render(){
return (
<div>
<h1>Hello, ${this.state.location}!</h1>
</div>
)
}
}
export default App
import React, {Component} from 'react'
class App extends Component {
constructor(){
super()
this.state = {
location: 'World',
name: 'Bryan',
tattoos: {
has: true,
count: 5
},
friends: ['Landy', 'Lindsey', 'Cam']
}
}
render(){
return (
<div>
<h1>Hello, {this.state.location}!</h1>
<h3>My name is {this.state.name}</h3>
<h3>I have {this.state.tattoos.count} tattoos</h3>
</div>
)
}
}
export default App
State
App.js
import React, {Component} from 'react'
import Count from './Components/Count'
class App extends Component {
constructor(){
super()
this.state = {
numberOfClicks: 0
}
}
render(){
return (
<div>
<Count count={this.state.numberOfClicks} />
</div>
)
}
}
export default App
Props
Count.js
import React, {Component} from 'react'
class App extends Component {
constructor(){
super()
this.state = {
}
}
render(){
return (
<div>
</div>
)
}
}
export default App
import React, {Component} from 'react'
class Count extends Component {
render(){
return (
<div>
<h1>{this.props.count}</h1>
</div>
)
}
}
export default Count
0
Quick Note on this
WTF IS this??
this simply refers to the object where the method is being invoked...
WTF IS this??
this in JavaScript allows you to decide what the function will reference when being invoked
Pro Tip: Look where the function using this is being invoked to find the true meaning of this
Binding this
.call
.apply
.bind
Creates a new function with this bound
App.js
import React, {Component} from 'react'
import Count from './Components/Count'
class App extends Component {
constructor(){
super()
this.state = {
numberOfClicks: 0
}
}
handleIncreaseCount(){
this.setState({
numberOfClicks: this.state.numberOfClicks + 1
})
}
render(){
return (
<div>
<button onClick={this.handleIncreaseCount}></button>
<Count count={this.state.numberOfClicks} />
</div>
)
}
}
export default App
.bind
Count.js
import React, {Component} from 'react'
import Count from './Components/Count'
class App extends Component {
constructor(){
super()
this.state = {
numberOfClicks: 0
}
this.handleIncreaseCount = this.handleIncreaseCount.bind(this)
}
handleIncreaseCount(){
this.setState({
numberOfClicks: this.state.numberOfClicks + 1
})
}
render(){
return (
<div>
<button onClick={this.handleIncreaseCount}></button>
<Count count={this.state.numberOfClicks} />
</div>
)
}
}
export default App
State v Props
State
Props
- Data
- Local to Class
- Can be manipulated
- Data
- Passed from parent
- Can be manipulated
Props n State
By jonmcd
Props n State
- 138