웹 프론트엔드 JS 튜토리얼 React가없는 Redux

React가없는 Redux

Feb 17, 2025 am 11:09 AM

Redux without React 이 기사는 Vildan Softic이 동료 검토했습니다. Sitepoint의 콘텐츠를 완벽하게 만들어 주신 Sitepoint의 모든 동료 검토 자에게 감사드립니다!

나는 처음부터 시작하여 모든 것이 어떻게 작동하는지 이해하는 것을 좋아하는 종류의 개발자입니다. 이것이 나 자신이 (불필요한) 워크로드를 가져 오는 것을 알고 있지만, 특정 프레임 워크, 라이브러리 또는 모듈의 메커니즘을 이해하고 이해하는 데 도움이됩니다.

최근에, 나는이 순간을 다시 경험하고 Redux와 Pure JavaScript를 사용하여 웹 응용 프로그램을 개발하기 시작했습니다. 이 기사에서는 응용 프로그램 구조를 간략하게 설명하고 초기 (마지막으로 실패한) 반복을 검사 한 다음 마지막으로 선택한 솔루션과 그 과정에서 배운 내용을 살펴보고 싶습니다.

키 포인트

Redux without React

Redux는 Pure JavaScript를 사용하여 React에 의존하지 않고 응용 프로그램 상태를 관리하여 다른 UI 계층의 상태 관리의 유연성을 보여줄 수 있습니다.

Redux 스토리지를 올바르게 초기화하고 관리하는 것이 중요합니다.

Redux 전용 설정에서 구성 요소는 React의 구성 요소 구조와 유사 할 수 있으며 프레젠테이션 및 컨테이너 레이어로 나뉘어 우려 사항을 분리하고 역할 정의를 명확하게하는 데 도움이됩니다.

Pure JavaScript 및 Redux를 사용할 때는 React의 Virtual DOM (상태 업데이트를 기반으로 UI 변경을 자동으로 처리 함)과 달리 DOM을 수동으로 업데이트해야합니다. 사용 사례 중심 스토리지를 구현하여 필요한 데이터 만 저장되도록하는 것이 좋습니다. 이는 불필요한 상태 지속성을 피함으로써 성능 및 사용자 경험을 향상시킬 수 있습니다.

설정 > 스크립트/구성 요소/ScoreObserver/$ board.js

다시, 이것은 기본 예제이며 기본 구성 요소입니다. updateboard () 메소드는 배열을 가져 와서 반복하고 컨텐츠를 스코어 목록에 삽입합니다. > 스크립트/구성 요소/ScoreObserver/$ label.js 이 구성 요소는 위의 스코어 보드와 거의 동일하지만 단일 요소 만 업데이트합니다.

기타 오류 및 제안

또 다른 중요한 포인트는

사용 케이스 구동 스토리지를 구현하는 것입니다. 응용 프로그램에 필수적인 콘텐츠를 저장하는 것이 중요하다고 생각합니다. 처음에 나는 현재 활성보기, 게임 설정, 점수, 호버 효과,
<code>actions/
├── game.js
├── score.js
└── ...
components/
├── router.js
├── pageControls.js
├── canvas.js
└── ...
constants/
├── game.js
├── score.js
└── ...
reducers/
├── game.js
├── score.js
└── ...
store/
├── configureStore.js
├── connect.js
└── index.js
utils/
├── serviceWorker.js
├── localStorage.js
├── dom.js
└── ...
index.js
worker.js</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
사용자의 호흡 모드 등 모든 것을 거의 저장했습니다.

이것은 한 응용 프로그램과 관련이있을 수 있지만 다른 응용 프로그램과 관련이 없습니다. 현재보기를 저장하고 다시로드시 같은 장소에서 계속하는 것이 좋을 수도 있지만, 제 경우에는 나쁜 사용자 경험과 유용한 것보다 더 성가신 느낌이 들었습니다. 메뉴 나 모달 스위치를 저장하고 싶지 않습니까? 사용자가 왜 특정 상태로 돌아 가야합니까? 더 큰 웹 응용 프로그램에서는 이것이 의미가있을 수 있습니다. 그러나 작은 모바일 게임 포커스 게임에서, 내가 거기에서 떠났기 때문에 설정 화면으로 돌아가서 꽤 성가신 일입니다.

결론

반응이 있거나없는 Redux 프로젝트를 수행했으며, 주요 테이크 아웃은 응용 프로그램 설계의 큰 차이가 필요하지 않다는 것입니다. React에 사용 된 대부분의 방법은 실제로 다른 뷰 처리 설정에 맞을 수 있습니다. 처음에는 다른 일을해야한다고 생각했기 때문에 이것을 깨닫는 데 시간이 걸렸지 만 결국 필요하지 않다는 것을 알게되었습니다. 그러나 다른 점은 모듈을 초기화하는 방법, 저장 방법 및 구성 요소가 전체 애플리케이션 상태를 얼마나 잘 이해하는지입니다. 개념은 동일하게 유지되지만 구현 및 코드 볼륨은 귀하의 요구에 적합합니다. Redux는 더 사려 깊은 방식으로 응용 프로그램을 구축하는 데 도움이되는 훌륭한 도구입니다. 보기 갤러리없이 혼자 사용하는 것은 처음에는 매우 까다로울 수 있지만, 일단 초기 혼란을 극복하면 아무것도 당신을 막을 수 없습니다.

내 방법에 대해 어떻게 생각하십니까? Redux와 다른 뷰를 사용하여 설정 만 처리하고 있습니까? 나는 당신의 의견을 듣고 의견에 대해 논의하고 싶습니다.

Redux에 대해 자세히 알아 보려면 "디자인 문제를 해결하기 위해 Redux를 다시 작성하고 테스트하는"코스를 확인하십시오. "미니 코스. 이 과정에서는 WebSocket 연결을 통해 주제별로 구성된 트윗을 수신하는 Redux 응용 프로그램을 작성합니다. 무슨 일이 일어날 지에 대한 아이디어를 얻으려면 아래의 무료 코스를 확인하십시오.

플레이어로드… 반응이없는 redux (FAQ)에서 FAQ
Redux와 React 사용과 React를 사용하지 않는 것의 주요 차이점은 무엇입니까?

Redux는 UI 계층과 함께 사용할 수있는 JavaScript 응용 프로그램을위한 예측 가능한 상태 컨테이너입니다. REDUX 대 REACT와 React를 사용하지 않는 것의 주요 차이점은 UI 계층이 Redux 저장소와 상호 작용하는 방법입니다. React와 함께 사용하면 Redux는 React의 구성 요소 기반 아키텍처와 수명주기 접근 방식을 활용하여 상태 변경이 이루어질 때 구성 요소의 업데이트를 자동으로 처리 할 수 ​​있습니다. React가 없으면 상태가 변경 될 때 스토리지를 수동으로 구독하고 UI에 대한 업데이트를 처리해야합니다. Redux에서 비동기 작업을 처리하는 방법은 무엇입니까? Redux의 비동기 작업은 일반적으로 Redux Thunk 또는 Redux Saga와 같은 미들웨어를 사용하여 처리됩니다. 이 미들웨어를 사용하면 일반적인 객체가 아닌 기능 (Thunks) 또는 더 복잡한 비동기 작업 (Sagas)을 예약 할 수 있습니다. React가 없어도 Redux Storage에서 이러한 미들웨어를 사용할 수 있습니다. Redux의 ApplyMiddleware 함수를 사용하여 스토리지를 작성할 때 미들웨어를 적용하면됩니다.

Redux DevTools를 React없이 사용할 수 있습니까?

예, Redux DevTools는 React에 의존하지 않으며 Redux를 사용하는 UI 레이어와 함께 사용할 수 있습니다. Redux 스토리지를 만들 때 미들웨어로 추가하여 Redux DevTools를 애플리케이션에 통합 할 수 있습니다. 이렇게하면 응용 프로그램의 상태와 조치를 반응없이 실시간으로 확인할 수 있습니다.

반응없이 UI 구성 요소의 Redux 스토리지에 연결하는 방법은 무엇입니까?

React 및 Connect 기능이 없으면 상태가 변경 될 때 Redux 스토리지를 수동으로 구독하고 UI 구성 요소를 업데이트해야합니다. STORE.SUBSCRIBE 메소드를 사용하여 상점을 구독 할 수 있으며, 이는 작업이 예약 될 때마다 호출되는 청취자 기능을 사용합니다. 이 리스너 기능에서는 store.getstate를 사용하여 스토리지의 현재 상태를 얻고 그에 따라 UI 구성 요소를 업데이트 할 수 있습니다.

vue 또는 angular와 같은 다른 라이브러리 또는 프레임 워크와 함께 redux를 사용할 수 있습니까?

예, Redux는 React에 의존하지 않으며 UI 층에 사용할 수 있습니다. VUE 및 Angular와 같은 다른 라이브러리 및 프레임 워크의 경우 React의 Connect 기능과 유사한 기능을 제공하는 바인딩이 제공됩니다. 이러한 바인딩을 사용하면 UI 구성 요소를 Redux 저장소에 쉽게 연결하고 상태가 변경 될 때 구성 요소의 업데이트를 처리 할 수 ​​있습니다.

React없이 Redux 코드를 테스트하는 방법은 무엇입니까?

REACT없이 레드 코드 테스트는 React로 테스트하는 것과 유사합니다. Jest 또는 Mocha와 같은 JavaScript 테스트 프레임 워크를 사용하여 액션 제작자 및 감속기에 대한 단위 테스트를 만들 수 있습니다. 비동기 작업을 테스트하기 위해 Mock Storage를 사용하여 Redux 스토리지를 시뮬레이션 할 수 있습니다.

Redux에서 부작용을 처리하는 방법은 무엇입니까?

Redux의 부작용은 일반적으로 Redux Thunk 또는 Redux Saga와 같은 미들웨어를 사용하여 처리됩니다. 이 미들웨어를 사용하면 API 호출과 같은 부작용 이상의 비동기 작업으로 기능을 예약 할 수 있습니다. React가 없어도 Redux Storage에서 이러한 미들웨어를 사용할 수 있습니다.

순수한 JavaScript와 함께 Redux를 사용할 수 있습니까?

예, Redux는 순수한 JavaScript와 함께 사용할 수 있습니다. Redux 상점을 만들고,이를 예약하고, 순수한 JavaScript 만 사용하여 상태의 변경 사항을 구독 할 수 있습니다. 그러나 REACT와 같은 라이브러리 나 프레임 워크가 없으면 UI에 대한 업데이트를 처리하기 위해 REACT가 없으면 상태가 변경 될 때 UI 구성 요소를 수동으로 업데이트해야합니다.

React없이 Redux 코드를 구축하는 방법은 무엇입니까?

Redux 코드의 구조는 RECT를 사용하는지 여부에 따라 다릅니다. 운영, 감속기 및 선택기를 다른 파일 또는 폴더로 분리하고 정규화되고 모듈 식 방식으로 상태를 구성하는 등 Redux 코드를 구축하기위한 동일한 모범 사례를 계속 따를 수 있습니다.

Redux 미들웨어를 React없이 사용할 수 있습니까?

예, Redux Middleware는 React에 의존하지 않으며 Redux를 사용하는 UI 레이어와 함께 사용할 수 있습니다. Redux의 미들웨어는 부작용 및 비동기 작업 등을 처리하는 데 사용됩니다. Redux의 ApplyMiddleware 함수를 사용하여 Redux 스토리지에 Redux의 미들웨어 적용을 사용할 수 있습니다.

위 내용은 React가없는 Redux의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

JavaScript로 문자열 문자를 교체하십시오 JavaScript로 문자열 문자를 교체하십시오 Mar 11, 2025 am 12:07 AM

JavaScript로 문자열 문자를 교체하십시오

사용자 정의 Google 검색 API 설정 자습서 사용자 정의 Google 검색 API 설정 자습서 Mar 04, 2025 am 01:06 AM

사용자 정의 Google 검색 API 설정 자습서

예제 색상 JSON 파일 예제 색상 JSON 파일 Mar 03, 2025 am 12:35 AM

예제 색상 JSON 파일

8 멋진 jQuery 페이지 레이아웃 플러그인 8 멋진 jQuery 페이지 레이아웃 플러그인 Mar 06, 2025 am 12:48 AM

8 멋진 jQuery 페이지 레이아웃 플러그인

10 JQuery Syntax Highlighter 10 JQuery Syntax Highlighter Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighter

' this ' 자바 스크립트로? ' this ' 자바 스크립트로? Mar 04, 2025 am 01:15 AM

' this ' 자바 스크립트로?

자신의 Ajax 웹 응용 프로그램을 구축하십시오 자신의 Ajax 웹 응용 프로그램을 구축하십시오 Mar 09, 2025 am 12:11 AM

자신의 Ajax 웹 응용 프로그램을 구축하십시오

10 JavaScript & JQuery MVC 자습서 10 JavaScript & JQuery MVC 자습서 Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC 자습서

See all articles