2017-01-16 1 views
0

내가 현재 별도의 파일에 내 행동 유형을 정의하고 있습니다 :Redux - 액션 유형을 별도로 유지해야합니까?

내 행동 제작자의 다음
export const SET_SOME_ID = 'SET_SOME_ID'; 
export const SET_SOME_NAME = 'SET_SOME_NAME'; 
... 

나는이 일을하고 파일을

import * as ATYPES from './actionTypes.js'; 
export function setSomeId(id) { 
    return { type: ATYPES.SET_SOME_ID} 
} 
export function setSomeName(name) { 
    return { type: ATYPES.SET_SOME_NAME} 
} 
... 

난 그냥을 갖는 분배해야 같은 느낌 별도의 파일에서 행동 유형과 그냥 actionCreators.js 파일에서이 작업을 수행 :

export function setSomeId(id) { 
    return { type: 'SET_SOME_ID'} 
} 

는 응용 프로그램이 벡 것이다 성장 즉,이 필요한가 이것이 올바른 일임이 분명합니까?

+0

그것은 DEVS까지 사실이고 더 나은 연습 문제와 비슷하게 들립니다. 나는 장기간의 가독성과 유지 보수를 위해 상용구를 교환하면서 적절한 규모와 복잡한 프로젝트를 위해 예전의 투표에 투표 할 것입니다. 소규모 프로젝트의 경우 제작자 Dan이 말했듯이 비용을 절감 할 필요조차 없습니다. – Xlee

+0

https://github.com/erikras/ducks-modular-redux –

답변

2

은 유형을 별도의 파일로 정의하지 않고 문자열을 반환합니다. 그러나 이것은 일반적으로 잘못된 코딩 방법입니다. 임의의 문자열, 특히 여러 파일에 사용되는 문자열은 상수 변수로 정의하고 사용되는 곳마다 가져와야합니다.

귀하의 경우 액션 작성자와 하나 이상의 리덕션 담당자 내에서 액션 유형 문자열을 사용해야합니다 (하나의 액션 유형에 응답하도록 여러 개의 리듀서를 설정할 수 있음). 동작 유형을 상수로 정의하고 사용하는 곳이라면 어디에서나 가져와 사용되는 소스 중 하나에서 의도하지 않게 잘못 철자 될 위험을 줄이므로 간단한 버그/오자를 디버깅하는 데 많은 시간을 낭비 할 수 있습니다.

또한 모든 작업 유형을 상수로 정의하는 것이 유리하기 때문에 팀 구성원 모두가 여러 작업 작성자의 작업 유형을 쉽게 볼 수 있습니다.

돌아 오는의 API 문서 더 많거나 적은 당신에게 달려 있지만, 상수로 작용 유형을 정의하는 긍정적 목록에 들어가는 말 : http://redux.js.org/docs/recipes/ReducingBoilerplate.html#actions (오른쪽 작업 크리에이터 절 전)

+3

을보고 싶을 수도 있습니다. 좋은 편집기가 당신을 위해 상수를 자동 완성 할 수 있다는 것을 잊지 마십시오; 문자열을 자동 완성 할 수 없습니다. –

관련 문제