redux-action-tools
redux-action-tools copied to clipboard
增加几个exapmle
如题: 增加几个example对新手更友好些 :)
@vicvinc 谢谢反馈,之前考虑到用法和源码都比较简单就偷懒了,稍后会加一些的
我用了下,目前感觉还不错!
我大致看了一下源码,发现createActions 里边不能实现异步actions(createAsyncAction的功能),或者我没有看懂实现的方式,或者这是不必要。
createReducer 这块我没有看懂它是如何区分action的,如你也提到
的注意事项,但是我没有看明白如何区分。
菜鸟一枚,请指教,感激不尽。
我又重新看了一下源码。在when 的第一个参数是区分action的。那他后.done
.failed
,是不是when 第一个参数所指的那个actionType,当处理单个action的时候。我其实应该个createActions 只处理一个action,就避免了问题。
@ctocto 不太清楚你的问题,如果有代码示例会比较好理解。
多数场景下,一次异步动作可以用三个action中的两个完全表达,即异步开始
+ (异步成功
|| 异步失败
) 。因此,对异步行为的声明,其实只要声明“开始”的那个action X,剩下的就可以直接定义为 X_SUCCESSED || X_FAILED 。
如你所说,when既可以指明要处理哪个同步action,又可以为接下来的.done
和.failed
提供初始action的信息,这一点模仿了jQuery式的链式写法,将信息放在上下文中传递。
在README.MD中有相关的例子:
const reducer = createReducer()
.when([ACTION_FOO, ACTION_BAR], handlerForBothActions) // share handler for multi actions
.when('BAZ', handler) // optimistic update here if you need
.done(handler) // handle 'BAZ_COMPLETED'
.failed(errorHandler) // handle 'BAZ_FAILED'
.build(initValue); // Don't forget 'build()' !
注意这里的.done和.failed