reactjs - 从 redux-saga 中调用 redux-form 调度(change)

标签 reactjs redux redux-form redux-saga

我有一个传奇,它发布到网络服务并返回一个新的销售订单号来说明。这工作得很好,看起来像这样。

//New SALES NUMBER SAGA
function getNewSalesNumber(salesRepId, typeId) {
  const url = `${baseUrl}/api/SalesOrder/${salesRepId}?typeId=${typeId}`;
  console.log(url);
  return axios.post(url);
}

function* callGetNewSalesNumber({salesRepId, typeId, resolve, reject}) {
  const result = yield call(getNewSalesNumber, salesRepId, typeId)
    if (result.data) {
    yield put({type: "NEWSALESNUMBER_FETCHED", result});
//    yield call(resolve); 
    } else {
//    yield call(reject);
  }
}

function* getNewSalesNumberSaga() {
  yield* takeEvery("FETCH_NEWSALESNUMBER", callGetNewSalesNumber);
}

reducer 看起来像这样。

    function newSalesNumber(state = {}, action) {
  switch(action.type) {
    case 'NEWSALESNUMBER_FETCHED':
      return state
        .set("orderHeader.orderId", action.result);
    default:
      return state;
  }
}

export default newSalesNumber;

我试图找出将该值返回到 newSalesNumber (现在处于状态)到字段的选项。

如果我在表单组件中执行此操作,我会使用类似的东西...

 this.props.dispatch(change('mainForm', 'orderNumber', "testNumber"));

有没有办法在收到数据后在 saga 中执行此操作> 我可以从连接的表单外部(在 Saga 中)调用调度(更改)吗?

最佳答案

您可以像这样直接从 sagas 中执行此操作(我们在我们的项目中使用它)

yield put(change('form_name', 'property_name', value_for_the_property))

或者你可以通过reducers返回数据并在容器级别使用它来更新你的redux表单。

关于reactjs - 从 redux-saga 中调用 redux-form 调度(change),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49312542/

相关文章:

reactjs - 将D3与Electron React应用程序结合使用

javascript - React - 向下滚动时向上滑动固定导航栏,向上滚动时向下滑动

reactjs - 如何将 Material UI 与 Electron React 样板一起使用?

javascript - React Redux 不传递数据

reactjs - React | 如何获取元素的位置Redux (.getBoundingClientRect() + .getWrappedInstance())

reactjs - React Jest 测试 : TestingLibraryElementError: Unable to find an element

javascript - 如何在 React Native 和 Redux 中将 action 作为 prop 传递下去?

javascript - 如果表单不完整,取消 componentWillUnmount

javascript - 抛出 redux-form 的 SubmissionError 会导致 Uncaught (in promise)

reactjs - 如何在另一个组件中获取 Ant Design Form 数据