Timed Redux 작업을 구현하는 방법은 무엇입니까?
Dec 05, 2024 am 02:16 AM시간 초과가 있는 Redux 액션을 디스패치하는 방법?
Redux에서는 setTimeout을 사용하고 다른 액션을 디스패치하여 알림 상태를 반환할 수 있습니다. 일정 시간이 지나면 초기 상태로 돌아갑니다. 이렇게 하면 지정된 시간 간격이 지나면 알림이 자동으로 사라집니다.
인라인 JavaScript 사용
store.dispatch({ type: 'SHOW_NOTIFICATION', text: 'You logged in.' }); setTimeout(() => { store.dispatch({ type: 'HIDE_NOTIFICATION' }); }, 5000);
로그인 후 복사
비동기 액션 생성기 추출
인라인 접근 방식을 사용하여 코드 중복이나 경합 상태가 발생하는 경우 비동기 작업 추출을 고려하세요. creator.
function showNotificationWithTimeout(dispatch, text) { const id = nextNotificationId++; dispatch(showNotification(id, text)); setTimeout(() => { dispatch(hideNotification(id)); }, 5000); }
로그인 후 복사
Thunk 미들웨어 사용
복잡한 앱의 경우 Redux Thunk 미들웨어를 사용할 수 있습니다. 이를 통해 Redux는 함수를 액션 생성자로 인식하고 해당 함수 내에서 dispatch 및 getState에 대한 액세스를 제공합니다.
import { createStore, applyMiddleware } from 'redux'; import thunk from 'redux-thunk'; const store = createStore( reducer, applyMiddleware(thunk) ); store.dispatch(showNotificationWithTimeout('You logged in.'));
로그인 후 복사
Thunks의 상태 읽기
썽크 액션 생성자 내에서, getState를 사용하여 상점의 현재 상태를 읽을 수 있습니다. 이는 현재 상태에 따라 조건부로 작업을 디스패치하는 데 유용합니다.
showNotificationWithTimeout(dispatch, getState) { if (!getState().areNotificationsEnabled) { return; } // ... continue with action-dispatching logic }
로그인 후 복사
많은 시나리오에서 간단한 인라인 JavaScript로 충분할 수 있으므로 이러한 기술은 필요한 경우에만 사용하십시오.
위 내용은 Timed Redux 작업을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
2 포인트 박물관 : 모든 전시회 및 찾을 수있는 곳
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
2 포인트 박물관 : 모든 전시회 및 찾을 수있는 곳
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7126
9


자바 튜토리얼
1534
14


라라벨 튜토리얼
1256
25


PHP 튜토리얼
1205
29


Cakephp 튜토리얼
1153
46

