action.md
April 1, 2018 · View on GitHub
#Action 技术要点
action 是把数据从应用传到 store 的有效 payload (载荷), action 是 store 数据的唯一来源
一般会通过 store.dispatch() 将 action 传到 store
Redux 里的 action 一般有两个概念,一是指 Action Types,二是指 Action Creator
##Action Types
action 内使用字符串类似的 type 字段来表示要执行的动作,但大型应用就要放到单独的 action 文件里
如:import { LIST_DATA, ADD_DATA, REMOVE_DATA } from '../action-types'
##Action Creator
Redux 中的 action creator 函数仅返回一个 action 对象,如下:
function addData(text) {
return {
type:ADD_DATA,
text
};
}
只需要把 action creator 的结果传给 dispatch() 方法就可实例化dispatch,如:dispatch(addData(text))。
或者创建一个被绑定的 action creator 来自动 dispatch:
let boundAddData = (text) => dispatch(addData(text));
然后直接调用:
boundAddData(text);
store 里能直接通过 store.dispatch() 调用 dispatch() 方法,但多数情况下使用react-redux的 connect() 来调用。
bindActionCreators()更是可以自动把多个** action creator **绑定到dispatch()方法上。
尽量减少在 action 中传递的数据
纠错
- QQ:2225226