Redux-сага добавить дополнительное поле для тела POST - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь отправить запрос POST с использованием redux-saga. У меня есть форма двух входов. Я использую селектор для сбора входных данных из формы, а пока это мое тело. Но мне нужно добавить itemId, который не вводится пользователем. Как мне вставить его в тело?

Моя сага выглядит так:

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 голосов
/ 28 августа 2018

Добавить itemId к телу.

    let body = yield select(makeSelectModifiedData());
    body.itemId = 5;//provide id here
0 голосов
/ 28 августа 2018

Вы можете сделать что-то вроде этого:

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,
    });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...