【问题标题】:How get value from dispatch?如何从调度中获得价值?
【发布时间】:2020-10-18 10:54:23
【问题描述】:

如何从CreateTobaccoProfiledispatch 中获取烟草 id?

const addToBarProfile = (data, dispatch) => new Promise((resolve, reject) => {
  var somedata = dispatch(CreateTobaccoProfile({
    data: JSON.stringify(data)
  }));
  //I need id of this request to send new request
  debugger;
  resolve();
});

addToBarProfile(data, dispatch).then(x => {
  debugger;
  AttachTobaccoToBar(data._id);
});

【问题讨论】:

  • 如果CreateTobaccoProfile 返回Promise,您可以为它await。但我相信最好避免并使其具有声明性,这意味着 CreateTobaccoProfile 应该 dispatch 本身的“回调”。我正在使用",因为它不会调度回调本身而是一个动作,并且“bar”(?)减速器将处理该动作并因此将“attachTobacco”。

标签: javascript reactjs dispatch


【解决方案1】:

我认为 redux 调度是同步的,所以你可以这样做,但你确定 CreateTobaccoProfile

    CreateTobaccoProfile({
            data: JSON.stringify(data),
 }) 

返回一个值?动作不应该返回值,它们只是启动状态更改

   const addToBarProfile = (data, dispatch) =>
      new Promise((resolve, reject) => {
        var somedata = dispatch(
          CreateTobaccoProfile({
            data: JSON.stringify(data),
          })
        );
        //I need id of this request to send new request
        debugger;
        if (!somedata) return reject(new Error("no data found !"));
        resolve(somedata);
      });

addToBarProfile(data, dispatch).then((somedata) => {
  debugger;
  AttachTobaccoToBar(somedata._id);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 2021-07-28
    • 2020-01-12
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    相关资源
    最近更新 更多