찾다

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으로 문의하세요.
Python vs. JavaScript : 개발자를위한 비교 분석Python vs. JavaScript : 개발자를위한 비교 분석May 09, 2025 am 12:22 AM

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python vs. JavaScript : 작업에 적합한 도구 선택Python vs. JavaScript : 작업에 적합한 도구 선택May 08, 2025 am 12:10 AM

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬 및 자바 스크립트 : 각각의 강점을 이해합니다파이썬 및 자바 스크립트 : 각각의 강점을 이해합니다May 06, 2025 am 12:15 AM

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

JavaScript의 핵심 : C 또는 C에 구축 되었습니까?JavaScript의 핵심 : C 또는 C에 구축 되었습니까?May 05, 2025 am 12:07 AM

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript 응용 프로그램 : 프론트 엔드에서 백엔드까지JavaScript 응용 프로그램 : 프론트 엔드에서 백엔드까지May 04, 2025 am 12:12 AM

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python vs. JavaScript : 어떤 언어를 배워야합니까?Python vs. JavaScript : 어떤 언어를 배워야합니까?May 03, 2025 am 12:10 AM

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.

JavaScript 프레임 워크 : 현대적인 웹 개발 파워JavaScript 프레임 워크 : 현대적인 웹 개발 파워May 02, 2025 am 12:04 AM

JavaScript 프레임 워크의 힘은 개발 단순화, 사용자 경험 및 응용 프로그램 성능을 향상시키는 데 있습니다. 프레임 워크를 선택할 때 : 1. 프로젝트 규모와 복잡성, 2. 팀 경험, 3. 생태계 및 커뮤니티 지원.

JavaScript, C 및 브라우저의 관계JavaScript, C 및 브라우저의 관계May 01, 2025 am 12:06 AM

서론 나는 당신이 이상하다는 것을 알고 있습니다. JavaScript, C 및 Browser는 정확히 무엇을해야합니까? 그들은 관련이없는 것처럼 보이지만 실제로는 현대 웹 개발에서 매우 중요한 역할을합니다. 오늘 우리는이 세 가지 사이의 밀접한 관계에 대해 논의 할 것입니다. 이 기사를 통해 브라우저에서 JavaScript가 어떻게 실행되는지, 브라우저 엔진의 C 역할 및 웹 페이지의 렌더링 및 상호 작용을 유도하기 위해 함께 작동하는 방법을 알게됩니다. 우리는 모두 JavaScript와 브라우저의 관계를 알고 있습니다. JavaScript는 프론트 엔드 개발의 핵심 언어입니다. 브라우저에서 직접 실행되므로 웹 페이지를 생생하고 흥미롭게 만듭니다. 왜 Javascr

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기