short circuit operator
import React, { useState } from 'react';
// short-circuit evaluation
// ternary operator
const ShortCircuit = () => {
const [text, setText] = useState('');
const [isError, setIsError] = useState(false);
// const firstValue = text || 'hello world';
// const secondValue = text && 'hello world';
return (
<>
{/* <h1>{firstValue}</h1>
<h1>value : {secondValue}</h1> */}
{/* {if(){console.log('hello world')}} */}
<h1>{text || 'john doe'}</h1>
<button className='btn' onClick={() => setIsError(!isError)}>
toggle error
</button>
{isError && <h1>Error...</h1>}
{isError ? (
<p>there is an error...</p>
) : (
<div>
<h2>there is no error</h2>
</div>
)}
</>
);
};
export default ShortCircuit;
Ternary oprator with show and hide component
import React, { useState, useEffect } from 'react';
const ShowHide = () => {
const [show, setShow] = useState(false);
return (
<>
<button className='btn' onClick={() => setShow(!show)}>
show/hide
</button>
{show && <Item />}
</>
);
};
const Item = () => {
const [size, setSize] = useState(window.innerWidth);
const checkSize = () => {
setSize(window.innerWidth);
};
useEffect(() => {
window.addEventListener('resize', checkSize);
return () => {
window.removeEventListener('resize', checkSize);
};
}, []);
return (
<div style={{ marginTop: '2rem' }}>
<h1>Window</h1>
<h2>size : {size}</h2>
</div>
);
};
export default ShowHide;
Top comments (0)