无法在useEffect挂钩中使用React表单数据

马赫什

我有一个蚂蚁表单onFinish function单击提交按钮后便可以获取表单数据,我想在uesEffect hook表单中使用表单数据并将其作为有效负载分发给redux saga,但出现以下错误

React Hook "useEffect" is called in function "onFinish" that is neither a React function component nor a custom React Hook function.

如果我在onFinsh函数外部编写useEffect钩子,则无法获取表单数据/值


请提出一种解决方法,以获取onFinish函数之外的表单数据值


import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom';
import 'antd/dist/antd.css';
import './index.css';
import { Form, Input, Button, Checkbox } from 'antd';
 

const Demo = () => {
  const onFinish = (values) => {
    // alert(JSON.stringify(values['username']));
    useEffect(() => {
      // dispatch an action with values as payload
     }, []);
  };
console.log(values) // UNABLE TO GET VALUES HERE...HOW TO GET IT???
  return (
    <Form
      name="basic"
      onFinish={onFinish}>
      <Form.Item
        label="Username"
        name="username">
        <Input />
      </Form.Item>
      <Form.Item>
        <Button type="primary" htmlType="submit">
          Submit
        </Button>
      </Form.Item>
    </Form>
  );
};

ReactDOM.render(<Demo />, document.getElementById('container'));
哈桑·纳克维(Hassan Naqvi)

看起来您甚至不需要useEffect()钩子。只需从中调度操作,onFinish()并状态存储values

const Demo = () => {

  const [ values, setValues ] = useState([]);
  
  const onFinish = (recievedValues) => {
    // dispatch here
    setValues(recievedValues);
  }
  
  console.log(values) // <-- you can get it here
  return (<div> ... </div>);
};

或者更好的是,由于您已经在分发​​期间将值保存在redux中,因此您也应该在渲染代码中使用它:

import { useSelector } from 'react-redux';

const Demo = () => {

  //point to the state where your data is
  const stateValues = useSelector(state => state.your.data);
  
  const onFinish = (recievedValues) => {
    // dispatch here
  }
  
  console.log(stateValues) // <-- you can get it here
  return (<div> ... </div>);
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在表单的挂钩中使用对象

渲染之前在useEffect挂钩中获取数据-React

如何在useEffect挂钩中使用Formik setFieldValue

无法在useEffect挂钩中设置状态

无法在useEffect挂钩中测试超时功能

如何显示useEffect挂钩中的数据?

如何在功能组件和挂钩中使用AppState?必要还是我使用useEffect错误?

尝试在useEffect挂钩中使用清理功能来清理img.onload

在Appolo graphQl中的单个useeffect挂钩中使用多个查询

在新订单挂钩中获取订单数据

无法在 React 中更新表单数据

我无法在挂钩中保存数据

在表单数据中使用参数?

切换到结果`onSubmit`使用React Router在React挂钩中的搜索表单

无法使用 Flask 读取表单数据

React useEffect挂钩中的Fetch API没有响应

React-访问在useEffect挂钩中结算的对象属性

在React.useEffect挂钩中未调用clearInterval

useEffect挂钩中的问题以在React.js中获取api

无法在iOS中使用NSURLSession多部分表单数据上传文件

如何在React中使用获取和表单数据来发布对象?

React js中使用表单数据上传图片并返回前端

React挂钩:使用useEffect时无法获取状态更新

无法使用 react 和 nodejs 发送和接收表单数据对象

Express Js无法从React Js检索提交的表单数据

在淘汰赛网址中使用表单数据

在 PHP 中使用 Angular 保存动态创建的表单数据

在python请求中使用POST表单数据上传图像

在Delphi中使用idHTTP发布表单数据