반응형 버튼: 진행률 표시줄이 있는 3D 애니메이션 반응 버튼 구성 요소
18436 단어 npmreactgithubopensource
𝐑𝐞𝐚𝐜𝐭𝐢𝐯𝐞 𝐁𝐮𝐭𝐭𝐨𝐧은 진행률 표시줄이 있는 3D 애니메이션 반응 버튼 구성 요소입니다. 매우 가볍고 종속성이 없습니다. 거기에 아이콘을 추가할 수 있으며 재미있는 부분은 프로젝트에 타사 아이콘 라이브러리를 추가하지 않으려는 경우 기본 로드, 성공 및 오류 아이콘이 있다는 것입니다. 알리는 역할도 합니다. 따라서 이를 위해 많은 라이브러리를 설치할 필요가 없을 수도 있습니다.
귀하의 프로젝트에서 시도해 보시면 기쁠 것입니다. 그리고 ⭐️를 남겨주세요. 별은 우리가 더 많이 기여하도록 격려하며 비용은 들지 않습니다.
레포: https://github.com/arifszn/reactive-button
놀이터: https://arifszn.github.io/reactive-button/docs/playground
도서관의 목표는 진행 상황을 보여주는 것입니다. 아래 예제는 비동기 작업을 보여줍니다. 버튼을 클릭하면 비동기 작업(예: 데이터 가져오기, 양식 제출)이 처리되고 처리 후 성공 또는 오류 메시지가 표시됩니다.
'idle'
으로 상태를 초기화하고 'buttonState' 소품으로 할당합니다. 이제 유휴 텍스트를 렌더링합니다. 'loading'
로 설정합니다. 'success'
, 'error'
또는 'idle'
로 설정하십시오. 기본 사용법
import React, { useState } from 'react';
import ReactiveButton from 'reactive-button';
function App() {
const [state, setState] = useState('idle');
const onClickHandler = () => {
setState('loading');
setTimeout(() => {
setState('success');
}, 2000);
}
return (
<ReactiveButton
buttonState={state}
onClick={onClickHandler}
/>
);
}
export default App;
전체 사용
import React, { useState } from 'react';
import ReactiveButton from 'reactive-button';
function App() {
const [state, setState] = useState('idle');
const onClickHandler = () => {
setState('loading');
setTimeout(() => {
setState('success');
}, 2000);
}
return (
<ReactiveButton
buttonState={state}
onClick={onClickHandler}
color={'primary'}
idleText={'Button'}
loadingText={'Loading'}
successText={'Success'}
errorText={'Error'}
type={'button'}
className={'class1 class2'}
style={{ borderRadius: '5px' }}
outline={false}
shadow={false}
rounded={false}
size={'normal'}
block={false}
messageDuration={2000}
disabled={false}
buttonRef={null}
width={null}
height={null}
animation={true}
/>
);
}
export default App;
비동기 작업의 경우 상태 관리가 필요하지 않습니다. 일반 버튼처럼 사용하세요.
기타 용도
Reactive Button에는 일반 버튼의 모든 기능이 있습니다.
색깔
Reactive Button은 10가지 기본 색상 옵션과 함께 제공됩니다.
<ReactiveButton color="primary"/>
<ReactiveButton color="secondary"/>
<ReactiveButton color="teal"/>
<ReactiveButton color="green"/>
<ReactiveButton color="red"/>
<ReactiveButton color="violet"/>
<ReactiveButton color="blue"/>
<ReactiveButton color="yellow"/>
<ReactiveButton color="dark"/>
<ReactiveButton color="light"/>
크기
4가지 사이즈가 준비되어 있습니다.
<ReactiveButton size="tiny"/>
<ReactiveButton size="small"/>
<ReactiveButton size="medium"/>
<ReactiveButton size="large"/>
스타일
이러한 사용자 정의 옵션을 사용하여 버튼을 더 아름답게 만드십시오.
<ReactiveButton outline/>
<ReactiveButton rounded/>
<ReactiveButton shadow/>
기존 상태
프로젝트에서 부울 값만 허용하는 표시기 로드에 대한 기존 상태가 있을 수 있습니다. Reactive Button에 대한 새 상태를 정의하지 않으려면 기존 상태를 활용하십시오.
const [loading, setLoading] = useState(false);
return (
<ReactiveButton
buttonState={loading ? 'loading' : 'idle'}
idleText={'Button'}
loadingText={'Loading'}
/>
);
상태 없이
항상 상태를 사용하도록 제한되지 않습니다.
<ReactiveButton
onClick={doSomething}
idleText={"Some Text"}
/>
아이콘 사용
나만의 아이콘을 사용할 수 있습니다. 상위 요소로 래핑하는 것을 잊지 마십시오.
<ReactiveButton
idleText={<span><FontAwesomeIcon icon={faReply}/> Send</span>}
/>
양식 제출
버튼 클릭으로 양식을 제출해야 하는 경우
type
prop을 'submit'로 설정하십시오.<form>
<input type="text" name="username"/>
<input type="password" name="password"/>
<ReactiveButton
type={'submit'}
idleText="Submit"
/>
</form>
앵커 태그
반응형 버튼을 앵커 태그로 사용하려면 앵커 태그로 래핑하기만 하면 됩니다.
<a href="https://github.com/" target="_blank">
<ReactiveButton idleText="Visit Github" />
</a>
내 다른 작품:
Reddit Image Fetcher : reddit 이미지, 밈, 배경 화면 등을 가져오기 위한 JavaScript 패키지입니다.
Reference
이 문제에 관하여(반응형 버튼: 진행률 표시줄이 있는 3D 애니메이션 반응 버튼 구성 요소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/arifszn/reactive-button-3d-animated-react-button-component-with-progress-bar-2dm6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)