import { Routes, Route } from 'react-router-dom'
<Routes>
<Route path='/' element={} />
<Route path='todo' element={} />
<Route path='weather' element={<Weather />} >
<Route path=':city' element={<Weather />} />
</Route>
<Route path='*' element= {<div>404 ERROR</div>} />
</Routes>
리액트 웹의 현재 URL과 to가 가리키는 링크가 일치할 때! activeStyle과 activeClassName이 활성화된다
<NavLink to="/" activeStyle={style}>홈</NavLink>
<NavLink to="/about" activeClassName="active">About</NavLink>
let interval = setInterval(callback, 1000);
const callback= () => {
console.log('a');
}
clearInterval(interval);
usePrevious는 이전 렌더링에서의 값을 기억해두어야 하는 경우에 사용한다 현재 렌더링과 이전 렌더링의 값을 비교할 필요가 있을 때 사용!
function App() {
const [count, setCount] = useState(0);
const prevCount = usePrevious(count);
return (
<div>
<h1>
Now: {count}, before: {prevCount}
</h1>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}
import { useEffect, useRef } from 'react';
function usePrevious(value) {
const ref = useRef();
useEffect(() => {
ref.current = value;
}, [value]);
return ref.current;
}
export default usePrevious;
import cn from 'classnames';
<div className= {cn('check', {checked})}>체크</div>
.check{
&.checked{
color: red;
}
}