为了账号安全,请及时绑定邮箱和手机立即绑定

React:我不能将参数传递给动作吗?

React:我不能将参数传递给动作吗?

回首忆惘然 2021-12-23 19:39:33
如果我的措辞不正确,请原谅我。我现在正在学习 React 并且在将参数传递给动作时遇到问题。这是操作:export const getPosts = filterQs => {    return dispatch => {        const apiUrl = wpApi.listPosts;        if (filterQs) {            apiUrl += "?" + filterQs;        }        // Actually get the posts        dispatch(getPostsStarted());        axios.get(`${apiUrl}`)            .then(response => {                dispatch(getPostsSuccess(response.data));            })            .catch(error => {                dispatch(getPostsFailure(error.message));            });    }}包含if (filterQs)的条件被跳过,因为在调度操作时它似乎实际上没有该参数。它在调度时仍然返回一个成功的响应,它只是不包括我需要的参数。这是我在组件中映射调度的位置:const mapDispatchToProps = {    filterUpdate,    getPosts}这是实际调用它的方法。changeHandler (event) {        const checkedStatus = event.currentTarget.checked;        const selectedTaxonomy = event.currentTarget.name;        const termId = event.currentTarget.value;        const paramsToSend = {            checkedStatus: checkedStatus,            selectedTaxonomy: selectedTaxonomy,            termId: termId        };        const filterUpdatePromise = new Promise((resolve, reject) => {            this.props.filterUpdate(paramsToSend);            resolve(true);        });        // Run the filter query string format function only after the props have updated        filterUpdatePromise.then(() => {            const filterQs = this.formatNewFilterQuery();            getPosts(filterQs);        });    }据我所知,正在执行 getPosts(filterQs) 。如果我在 action 的 dispatch 之外记录 filterQs,我实际上会在日志中看到我的参数值。我只是不明白为什么我不能将参数传递到调度中。
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

尝试改变你mapDispatchToProps的


const mapDispatchToProps = {

    filterUpdate,

    getPosts

}


const mapDispatchToProps = dispatch => {

    return {

        filterUpdate: (params) => dispatch(filterUpdate(params)),

        getPosts: (filters) => dispatch(getPosts(filters))

    }

};


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信