반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리팩토링2판4장
- 리팩터링2판테스트
- formik react-query submitting not working
- git squash
- s3이미지다운로드됨
- 리액트구글애널리틱스
- file not found Error
- 시스템설계면접예시
- 가상면접으로대규모시스템
- 시스템설계방법
- react
- FirebaseAnalytics
- formik submitting not working
- cypressBDD
- 테스트코드책
- 시스템설계
- 가상면접2장
- react-ga
- 디자인패턴
- 전략패턴
- gitsquash
- git commit merge
- Git commit 합치기
- 가상면접3장
- 헤드퍼스트전략패턴
- awss3
- cypress React
- 시스템설계면접팁
- 시스템설계면접
- git commit 협업
Archives
- Today
- Total
mingg IT
[React] Typeit 사용하기 (React v 17) 본문
Typeit 라이브러리를 사용하면 text 애니메이션을 쉽고 이쁘게 사용할 수 있다.
https://www.typeitjs.com/docs/react
오늘은 React로 사용 예시를 드려고 한다.
npx create-react-app@latest typeit-example
로 프로젝트를 하나 만든다
만들고나면 React 18 버전으로 만들어 질텐데
dependency 에러랑 여러 에러가 너무 많이나서 17버전으로 사용하는 예시를 드려고 한다. (삽질만 1시간 넘게함)
package.json
{
"name": "typeit-example",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "17.0.2",
"react-dom": "17.0.2",
"react-scripts": "4.0.0",
"typeit-react": "0.1.3"
},
"devDependencies": {
"@babel/runtime": "7.13.8",
"typescript": "4.1.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}
app.js
import { useState } from 'react';
import TypeIt from 'typeit-react';
// import './styles.css';
export default function App() {
const [buttonText, setButtonText] = useState('Freeze');
const [instance, setInstance] = useState(null);
const toggleFreeze = () => {
if (instance.is('frozen')) {
instance.unfreeze();
setButtonText('Freeze');
return;
}
instance.freeze();
setButtonText('Unfreeze');
};
return (
<div className="App">
<TypeIt
element="h1"
options={{ loop: true }}
getAfterInit={instance => {
setInstance(instance);
return instance;
}}
>
This will just keep on going.
</TypeIt>
<button onClick={toggleFreeze}>{buttonText}</button>
</div>
);
}
다른 예시
import TypeIt from 'typeit-react';
// import './styles.css';
export default function App() {
const SuperStrong = ({ children }) => {
return <strong style={{ fontSize: '80px' }}>{children}</strong>;
};
return (
<div className="App">
<TypeIt>
Weak text. <SuperStrong>Super strong text.</SuperStrong>
</TypeIt>
</div>
);
}
이런식으로. 사용하면 이쁜 웹을 빠르게 만들 수 있을듯.
'FrontEnd' 카테고리의 다른 글
[React]You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.1) 에러 해결하기 (0) | 2022.05.09 |
---|---|
[React] CRA(create-react-app) 사용하지 않고 초기 세팅 해보기 (0) | 2022.05.08 |
[리팩토링] 반복문을 파이프라인으로 바꾸기 (0) | 2022.04.10 |
[HTML] Shadow DOM (0) | 2022.04.09 |
[Next.js] Next.js 에서 .module.scss 사용하기 (0) | 2022.03.08 |
Comments