首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >表格提交并附有redux-saga

表格提交并附有redux-saga
EN

Stack Overflow用户
提问于 2022-01-04 10:36:48
回答 2查看 183关注 0票数 0

我有一个反应应用程序。后端的火力基地。国家管理的传奇。但我在表单提交上的发送只在UserForm的初始呈现时执行一次。我有一个提交处理程序:

代码语言:javascript
运行
复制
 const formSubmitHandler = e => {
    e.preventDefault();
    dispatch({ type: 'REGISTER_USER', email, password });
  }

,我有我的传奇

代码语言:javascript
运行
复制
export function* registerUserHandler({email, password}) {
  try {
    const user = yield call(apiRequests.registerUser(email, password));
    yield put({ type: 'REG_USER', user })
  } catch(e) {
    console.log(e)
  }
} 

export function* registerNewWatcher() {
  yield takeLatest('REGISTER_USER', registerUserHandler);
}

这是给我未定义的电子邮件和密码。更准确地说,不能从未定义的结构中变形。在“观察者传奇”中,我将传递给registerUserHandler什么?

这个故事中的错误也会导致我的rootSaga中的其他saga失败。

根传奇

代码语言:javascript
运行
复制
export default function* rootSaga() {
  yield all([
    // fork(fetchUserHandler),
    fork(registerUserHandler)
  ]) 
}
EN

回答 2

Stack Overflow用户

发布于 2022-01-04 10:47:00

试试看,我认为你犯了错误,因为你使用了错误的语法。

代码语言:javascript
运行
复制
 const formSubmitHandler = e => {
    e.preventDefault();
    const params = { email, password }
    dispatch({ type: 'REGISTER_USER', params });
  } 
票数 0
EN

Stack Overflow用户

发布于 2022-01-04 12:05:51

如果有人无意中遇到这个问题,那么问题就在于如何将参数传递给apiRequest函数。你不会说:

代码语言:javascript
运行
复制
const user = yield call(apiRequests.registerUser(email, password));

没有必要使用调用效果,尽管可以在解决方案2中看到这一点。

解决方案1

代码语言:javascript
运行
复制
const user = yield apiRequests.registerUser(email, password));

解决方案2

代码语言:javascript
运行
复制
 const user = yield call(apiRequests.registerUser, email, password);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70577446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档