dua Cara Rendering Data dengan setState ReactJS

Tampil 18/September/2019

Bismillah

Langsung ke sourcecode js nya yah, ini adalah cara pertama melakukan setState() dimana kita melakukan binding terhadap fungsi addSideDish().


// komponen
const NowEating = props => <h1>{props.meal}</h1>

class Menu extends React.Component {
    constructor(props){
        super(props)
        this.state = {
            meal: "Roti"
        }
        this.addSideDish = this.addSideDish.bind(this)
    }

    // cara#1
    addSideDish() {
        this.setState({
            meal:"Roti dan Kopi"
        })
    }

    // cara#2
    addSideDish() {
        this.setState(prevState => {
            return { meal: `${prevState.meal} dan Kopi`}
        })
    }
    
    render(){
        return(
            <div>
                <NowEating meal={this.state.meal}/>
                {(this.state.meal === "Roti")
                    ? <button onClick={this.addSideDish}>Add side dish</button>
                    : null
                }
            </div>
        )
    }
}

ReactDOM.render(
    <Menu />,
    document.getElementById('root')
)

atau kita bisa membuatkan fungsi anonymouse ... source seperti ini:

// Komponen
const NowEating = props => <h1>{props.meal}</h1>

class Menu extends React.Component {

    state = { 
        meal: "Roti"
    }

    // membuat function anonimus
    addSideDish = () => {
        this.setState(prevState => {
            return { meal: `${prevState.meal} dan Kopi`}
        })
    }
    
    render(){
        return(
            <div>
                <NowEating meal={this.state.meal}/>
                {(this.state.meal === "Roti")
                    ? <button onClick={this.addSideDish}>Add side dish</button>
                    : null
                }
            </div>
        )
    }
}

ReactDOM.render(
    <Menu />,
    document.getElementById('root')
)

yaps kata mentor seterah dah pake teknik yang mana, karena semuanya bisa dilakukan ... have a nice day!