Redux-Saga为POST正文添加其他字段

时间:2018-08-28 15:33:40

标签: reactjs react-redux redux-saga

我正在尝试使用redux-saga进行POST请求。我有两种输入形式。我正在使用选择器从表单收集输入数据,现在这是我的身体。但是我需要添加itemId,该ID不是由用户输入的。我应该如何将其插入体内?

我的传奇看起来像:

export function* submitForm() {
  try {
    const formType = 'item';
    const body = yield select(makeSelectModifiedData());
    let requestURL;

    switch (formType) {
      case 'item':
        requestURL = 'http://localhost:1587/item';
        break;
      default:
    }

    const response = yield call(request, requestURL, { method: 'POST', body });

    if (response.itemId) {
      yield call(forwardTo, '/item');
    }
  } catch (error) {
    Alert.error('Error message...', {
      html: false,
    });
  }
}

2 个答案:

答案 0 :(得分:1)

将itemId附加到正文。

    let body = yield select(makeSelectModifiedData());
    body.itemId = 5;//provide id here

答案 1 :(得分:0)

您可以执行以下操作:

export function* submitForm() {
  try {
    const formType = 'item';
    const myFormValues = yield select(makeSelectModifiedData());
    const body = {
      ...myFormValues,
      itemId: myItemId
    };
    let requestURL;

    switch (formType) {
      case 'item':
        requestURL = 'http://localhost:1587/item';
        break;
      default:
    }

    const response = yield call(request, requestURL, { method: 'POST', body });

    if (response.itemId) {
      yield call(forwardTo, '/item');
    }
  } catch (error) {
    Alert.error('Error message...', {
      html: false,
    });
  }
}