18
loading...
This website collects cookies to deliver better user experience
"Bang kenapa harus buat copy element itu dulu?, kan udah ada element yang di render?
const [background, setBackground] = useState('red')
return (
<div className="App">
<button className={background} onClick={changeBackground}>
change Background
</button>
</div>
)
const changeBackground = () => {
if(background === 'red'){
setBackground('blue')
}
else{
setBackground('red')
}
}
red{
background: red;
}
.blue{
background: rgb(99, 99, 255);
}
ref
atau singkatan dari reference
. ref ini adalah sebuah referensi
yang mengarah ke element HTML pada react. tidak langsung
memanipulasi elementnya, tapi yang kita manipulasi adalah ref
dari element tersebut. Oke langsung saja kita praktekkanuseRef
jika menggunakan class component pakai createRef
const buttonRef = useRef();
<button className={background} ref={buttonRef} onClick={changeBackground}>
change Background
</button>
changeBackground()
kita coba memodifikasi element buttonnya menggunakan ref. sebagai contoh saya akan mengubah textContent dari button ketika di click. jadi saya tuliskan seperti iniconst changeBackground = () => {
if(background === 'red'){
setBackground('blue')
buttonRef.current.textContent = 'Berubah biru'
}
else{
setBackground('red')
buttonRef.current.textContent = 'Berubah Merah'
}
}