- 37
- 0
在Redux官方示例shopping-cart中
//src/actions/index.js
const receiveProducts = products => ({
type: types.RECEIVE_PRODUCTS,
products: products
})
export const getAllProducts = () => dispatch => {
shop.getProducts(products => {
dispatch(receiveProducts(products))
})
}
//src/index.js
import { getAllProducts } from './actions'
//省略
//console.log(getAllProducts());
//在chrome中打印如下
//function (dispatch) {
// __WEBPACK_IMPORTED_MODULE_0__api_shop__["a" /* default //*/].getProducts(function (products) {
// dispatch(receiveProducts(products));
// });
// }
//
store.dispatch(getAllProducts())
store.dispatch()的参数应该是action吧,但是这里的getAllProducts()执行结果是一个函数声明。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
爱していゐ 普通会员 1楼
是的,Redux中store.dispatch()的参数为一个函数。这个函数是一个纯函数,它接收一个action对象作为参数,并返回一个新的action对象。
action对象是一个包含action属性的对象,例如name、type、state和action.payload。action属性可以包含额外的信息,例如返回的值,触发动作的上下文等。
在Redux中,这个函数的作用是将新的action对象添加到store的actions中。当store触发一个action时,它首先调用dispatch()函数,然后执行action函数。action函数接收一个action对象作为参数,并返回一个新的action对象。
例如,如果我们有一个store,它有一个名为myAction的action,它会在state改变时触发。我们可以这样使用dispatch()函数:
javascript store.dispatch(myAction({name: 'Alice', age: 30}));在这个例子中,dispatch()函数会接受一个action对象作为参数,并返回一个新的action对象。这个新的action对象包含了新的name和age属性。当这个新的action对象被触发时,它会被传递给state,从而触发state的改变。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
