Redux Observable에 대한 간단한 설명입니다.
6680 단어 reduxwebdevjavascriptreact
소개
link to all the code in one page .
프런트 엔드 개발자로서 저는 Redux, 작동 방식 및
redux-saga
을 사용한 비동기 작업 처리 방법에 대해 잘 알고 있습니다.그러나 새 작업에서는
redux-observable
을 사용합니다. 나는 그것이 흥미롭다는 것을 알았고, 내 친구가 묻기 때문에 Redux와 함께 작동하는 방법에 대한 간략한 설명이 있습니다.참고: 나는 당신이 Redux 전문 용어(action creators, reducers, store)와 React에 익숙하다고 가정합니다.
Observable을 사용한 단방향 데이터 흐름.
마법은 다음 순서로 발생합니다.
componentWillMount()
일 수 있습니다. reducer
로 필터링됩니다. 동시에 어떤 에픽은 어떤 행동을 듣고 그에 따라 행동한다. 여기서 비동기 마법이 발생합니다. 서사시 내에서 필요한 경우 새 작업을 발송할 수 있습니다. 다음은 빠른 다이어그램입니다.
코드에서 어떻게 보이는지.
redux-ducks
패턴에 따라 모든 것을 같은 파일에 넣겠습니다.// module/index.js
// Actions
...
// Reducer
...
// Action Creators
...
// Epics
const createEpic = action$ => {
action$.ofType(FETCH_LIST_SUCCESS)
.mergeMap(action =>
ajax.getJSON(`${baseurl}/list`)
.map(res => fetchUserSuccess(res.data))
);
};
서사적 논리와 모듈이 순서대로 있습니다. 다음 단계는 루트 리듀서와 에픽에 추가하는 것입니다.
import { combineEpics } from 'redux-observable';
import { combineReducers } from 'redux';
import list, { fetchListEpic } from './lists';
export const rootEpic = combineEpics(
fetchUserEpic,
// ...
);
export const rootReducer = combineReducers({
// ...
list,
});
결국
redux-observable
는 비동기 작업 및 부작용을 처리하는 데 사용하는 일부 미들웨어일 뿐입니다. 마지막 단계는 configureStore.js
에 추가하는 것입니다.import { createStore, applyMiddleware } from 'redux';
import { createEpicMiddleware } from 'redux-observable';
import { rootEpic, rootReducer } from './modules';
const epicMiddleware = createEpicMiddleware(rootEpic);
export default function configureStore() {
const store = createStore(
rootReducer,
applyMiddleware(epicMiddleware)
);
return store;
}
놓친 경우 여기 link to all the code in one page이 있습니다.
그게 전부입니다.
Reference
이 문제에 관하여(Redux Observable에 대한 간단한 설명입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/papaponmx/a-quick-explanation-to-redux-observable--16b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)