6. state - Kite0301/react-my-app GitHub Wiki
ๆฌกใฏใฟในใฏใซๅทฆๅดใซ่กจ็คบใใใฆใใใขใคใณใณใใฏใชใใฏใใใจใใใงใใฏใใผใฏใไปใใใใใใใซใใพใใใใ
Reactใฎใณใณใใผใใณใใงๆ
ๅ ฑใ็ฎก็ใใๆนๆณใจใใฆใใpropsใใฎไปใซใstateใใจใใใใฎใใใใพใใ
ใpropsใใใณใณใใผใใณใ้ใฎๅคใฎๅใๆธกใใงใใฃใใฎใซๅฏพใใใstateใใฏใณใณใใผใใณใๅ
ใง็ถๆ
ใ็ฎก็ใใใฎใซ็จใใพใใ
ไปใList
ใณใณใใผใใณใใฏ2ใคๅผใณๅบใใใฆใใพใใใใใใใใฎใณใณใใผใใณใใใใใงใใฏใใใฆใใ็ถๆ
ใงใใใ๏ผใใจใใๆ
ๅ ฑใไฟๅญใใฆใใใฐใใใฎๅคใใใจใซใขใคใณใณใฎ่กจ็คบใๅใๆฟใใใใจใๅฏ่ฝใงใใ
ใพใใๅฟ ่ฆใชใณใผใใๆดใใพใใใใ
class List extends React.Component {
constructor(props) {
super(props);
this.state = {
checked: false,
}
}
render() {
// ไธญ็ฅ
}
}
ไธ่จ constructor
ใจใใ้จๅใ่ฟฝๅ ใใฆใใ ใใใ
constructor
ใฏใณใณใใผใใณใใฎๅๆ่จญๅฎใ่กใใใใฎใใฎใงใใ
this.state = {
checked: false,
}
ใจใใ้จๅใงใฏใstate
ใฎ checked
ใฎๅคใฏใๅๆ็ถๆ
ใงใฏ false
ใงใใใใจใใใใจใๆๅณใใฆใใพใใ
render
ๅ
ใstate
ใ็จใใฆๆธใๆใใฆใฟใพใใใใ
render() {
return (
<div className='list'>
{this.state.checked
? <i className='fas fa-check-circle' />
: <i className='far fa-circle' />
}
{this.props.title}
</div>
);
}
ใใฎใใใซๆธใใใจใงใthis.state.checked
ใฎๅคใ true
ใฎๆใฏใใงใใฏใใผใฏใใ
ๅคใ false
ใฎๆใฏ้ๅธธใฎโฏใ่กจ็คบใใใใใใซใชใใพใใ
ใงใฏๆฌกใฏใใใฎใขใคใณใณใใฏใชใใฏใใใจ this.state.checked
ใฎๅคใ false
ใใ true
ใธๅใๆฟใใใใใซใใฆใฟใพใใใใ
ใพใใใขใคใณใณ้จๅๅ
จไฝใ <span>
ใงๅฒใฟใพใใ
<span>
{this.state.checked
? <i className='fas fa-check-circle' />
: <i className='far fa-circle' />
}
</span>
ใ<span>
ใใฏใชใใฏใใใใใใใใใใใจใใๅฆ็ใๆธใใฆใฟใพใใใใ
changeChecked() {
// ใใใซ<span>ใใฏใชใใฏใใๆใฎๅฆ็ใๆธใ
}
render() {
return (
<div className='list'>
<span onClick={this.changeChecked.bind(this)}>
{this.state.checked
? <i className='fas fa-check-circle' />
: <i className='far fa-circle' />
}
</span>
{this.props.title}
</div>
);
}
-
<span>
ใซonClick
ใ่ฟฝๅ ใใใใฎๅคใซ{this.changeChecked.bind(this)}
ใๆๅฎใใพใ -
render
ใฎๅคใงchangeChecked
ใจใใใกใฝใใใ็จๆใใพใ
ใใฎใใใซใใใใจใงใ<span>
ใใฏใชใใฏใใใจใchangeChecked
ใกใฝใใใฎไธญใฎๅฆ็ใๅฎ่กใใใใใใซใชใใพใใ
ๅพใฏใchangeChecked
ใฎไธญใซ this.state.checked
ใฎๅคใๆธใๆใใๅฆ็ใ่ฟฝๅ ใใพใใใใ
changeChecked() {
this.setState({checked: !this.state.checked})
}
state
ใฎๅคใๆธใๆใใใซใฏ this.setState({ๅๅ: ๅค}) ใจใใพใใ
ไปใฎ this.state.checked
ใฎๅคใจใฏ้ใซใใใใฎใงใ!this.state.checked
ใจๅ
้ ญใซ !
ใไปใใฆใใพใใ
ใใฎๆ็นใงใฎใindex.jsใใฎใณใผใใฏ ใใกใ ใใ็ขบ่ชใงใใพใใ