2017-10-31 5 views
4

를 사용왜 왜 돌아 오는 썽크 다음 하나가 같은 것을 할 수 있습니다 사용하십시오 돌아 오는 썽크

ReadableAPI.getCategories().then((categories)=>{ 
     console.log('after getCategories', categories) 

     this.props.dispatch(addCategories(categories)) 
    }) 

이 더 간단하지 않습니다과 같은 일을 달성?

+0

내 의견으로는, 두 방법 모두 잘됩니다. 때로는 비동기 로직을 ​​액션 내부에서 선호하기도합니다. 더 깨끗한 컴포넌트를위한 코드를 만들 것입니다. –

+0

여기서'this.props'는 어디에서 오는 것입니까? 이것을 액션 모듈로 분리하고 있습니까? –

+0

액션 크리에이터를 순수한 함수로 만들려면 썽크를 사용하십시오 ... –

답변

1

This Dan Abramov의 답변은 왜 응용 프로그램에서 redux-thunk를 사용하려고하는지 아름답게 설명합니다. 응용 프로그램에서 redux-thunk를 사용하면 얻을 수있는 또 하나의 이점은 비즈니스 로직을 뷰 파트와 분리하여 유지한다는 것입니다 (귀하의 경우 React). 우리의 응용 프로그램이 backbone으로 작성된 유스 케이스가 있었으며 React에서 우리의 전체 응용 프로그램을 다시 작성하고 싶었습니다. 뷰와 컬렉션/모델이 분리되어 있다면 쉽다는 것을 깨달았습니다. 우리는 컬렉션이 아닌 html 템플릿만을 감식하기 시작했습니다. 모든 html 템플릿을 사용하지 않으려 고했을 때 우리 앱에서 Redux을 사용하기 시작했으며 컬렉션도 사용되지 않게되었습니다.

여기에 넣으려는 것은 viewbusiness 로직을 분리했기 때문에 쉽게 리펙토링 할 수 있다는 것입니다. 마찬가지로 ReactRedux을 사용하면 새로운 것을 유지하고 Redux을 바꾼다면 적어도 뷰를 사용 중지 할 필요가 없으며 비즈니스 로직을 변경해야합니다.

0

Redux Thunk 기본적으로 우리는 작업의 발송을 지연 할 수 있습니다. 즉, 작업 작성자가 반환 한 작업을 처리하고 실제로 발송하려고 할 때 전달 기능을 호출 할 수 있습니다.