Reux와 Immutable.js를 사용하고 있습니다. - 내 상태는 변경 불가능한 개체로 구성되어 있으며 정상적으로 작동합니다.React/Redux/Immutable.js - 변경 불가능한 작업 (오류 : 작업은 일반 개체 여야 함)
이제 동작을 일반 Javascript 객체 대신 변경 불가능한 객체로 만들려고합니다.
내 reducers 및 작업 작성자가 작동하고 모든 유닛 테스트가 통과하지만 React 구성 요소에서 불변 액션 개체를 사용하려고하면 내 Action 개체가 일반 자바 스크립트 개체가 아닌 불변의 맵이므로 오류가 발생합니다.).
이export const cancel =() => {
return Immutable.Map({
type: ACTION_TYPES.get('CANCEL')
})
}
내 감속기이 같다 (단위 테스트 때 작동하지만 때문에 오류를 호출하지 반응) : 여기
export const site = (state = initialState, action) => {
const actionType = null
try {
action.get('type')
} catch (e) {
return state
}
switch (actionType) {
... so on and so forth ...
이 경우 검사 오류입니다 여기
내 작업입니다 구성 요소 :FAIL src/App.test.js
● Test suite failed to run
Actions must be plain objects. Use custom middleware for async actions.
Immutable.js 개체가 작업으로 작동하도록 추가해야하는 미들웨어는 무엇입니까? ? 문서에서 찾을 수 없습니다 ...
자신 만의 미들웨어를 작성해야 할 수도 있습니다. 나는 불변의 맵으로 행동하는 데 충분한 이점이 있다고 생각하지 않을 것이다. dev 툴링과 다른 라이브러리의 대부분은 액션을 평범한 객체로 기대한다. – wgcrouch