React Basic Hooks - useEffects sample
by pizza_hamburger_chicken
HTML
<div id="root"></div>
<div id="other-div"></div>
CSS
body {
height: 100vh;
font-family: 'Open Sans', sans-serif;
font-weight: bold;
font-size: 24px;
display: flex;
justify-content: center;
align-content: center;
flex-wrap: wrap;
text-align: center
}
#root, #other-div {
width: 100%;
}
React
const {useState, useEffect, useRef} = React;
const usePreviousValue = (value) => {
const ref = useRef();
useEffect(() => {
ref.current = value;
});
return ref.current;
};
function Example() {
const [menuName, setMenuName] = useState();
const previousValue = usePreviousValue(menuName);
const handleMenuName = (event) => {
setMenuName(event.target.innerText);
};
useEffect(() => {
console.log({menuName})
if(event.target.innerText !== previousValue) {
han
}
}, [menuName]);
return (
<div>
<div onClick={(e) => handleMenuName(event)}>1</div>
<div onClick={(e) => handleMenuName(event)}>2</div>
<div onClick={(e) => handleMenuName(event)}>3</div>
<div>menuName: {menuName}</div>
</div>
);
}
ReactDOM.render( <Example />, document.getElementById('root') );