为什么要使用Redux Thunk

pre*_*ton 8 reactjs redux-thunk react-redux

为什么使用Redux Thunk然后可以做这样的事情:

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

      this.props.dispatch(addCategories(categories))
    })
Run Code Online (Sandbox Code Playgroud)

这不是更直接,并实现同样的事情?

Aja*_*aur 3

Dan Abramov 的这个回答很好地解释了为什么你想在应用程序中使用 redux-thunk。在应用程序中使用 redux-thunk 的另一个好处是,您可以将业务逻辑与视图部分分开(在您的情况下为 React)。我们有一个用例,我们的应用程序是用它编写的backbone,我们想在 React 中重写整个应用程序。我们意识到,如果您的视图和集合/模型是分开的,那么这很容易。我们开始只贬低 html 模板而不是集合。当我们弃用所有 html 模板时,我们开始Redux在我们的应用程序中使用,并且也弃用了我们的集合。

我想说的是,我们的逻辑viewbusiness逻辑是分开的,我们可以轻松地重构它。同样,对于ReactRedux,您会希望保持不同,这样,如果有新的东西出现并取代Redux,至少您不必弃用您的视图,而只需更改您的业务逻辑。