属性“isLoading”在类型“IntrinsicAttributes & IntrinsicClassAttributes>”上不存在 -Redux 表单

2024-03-12

我有一个容器组件和一个表单组件:

表单组件:

import * as React from 'react';
import { reduxForm, Field, InjectedFormProps } from 'redux-form';

export type LoginState = {
  email: string;
  password: string;
};

interface LoginProps extends InjectedFormProps {
  isLoading: boolean;
  onSubmit(userCredential: LoginState): void;
}

class Login extends React.Component<LoginProps, LoginState> {
  constructor(props: LoginProps) {
    super(props);
    this.state = {
      email: '',
      password: '',
      otp: '',
    };
  }
  onEmailChange = (e: React.FormEvent<HTMLInputElement>) => {
    this.setState({ email: e.currentTarget.value.trim() });
  };

  onPasswordChange = (e: React.FormEvent<HTMLInputElement>) => {
    this.setState({ password: e.currentTarget.value.trim() });
  };

  onSubmit = () => {
    this.props.onSubmit(this.state);
  };

  render() {
    return (
      <div>
        <h3 className="ac-section__title">Login</h3>
        <div className="ac-section__body">
          <form onSubmit={this.props.handleSubmit(this.onSubmit)}>
            <Field
              name="email"
              placeholder="Email"
              component={renderInput}
              type="email"
              value={this.state.email}
              onChange={this.onEmailChange}
              validate={[required, email]}
            />
            <Field
              name="password"
              placeholder="Password"
              component={renderInput}
              type="password"
              value={this.state.password}
              onChange={this.onPasswordChange}
              validate={required}
            />
            <br />
            <div className="loginBtnContainer">
              <button className="btn primaryButton" type="submit">
                Login
              </button>
            </div>
          </form>
          <div className="ac-password__wrapper">
            <Link to="/forgot-password" className="ac-password-link">
              Forgot your password?
            </Link>
          </div>
        </div>
      </div>
    );
  }
}

export default reduxForm({ form: 'loginForm' })(Login);

容器组件:

return (
      <div>
         <Login onSubmit={this.onSubmit} isLoading={true} />  
         /* here throwing error: Property 'isLoading' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<FormInstance<{}, Partial<ConfigProps<{}, {}>>>> & ...'. */

      </div>
    );

here isLoading没有作为 props 传递到表单组件。请帮我提供一个好的解决方案。

谢谢 :)


回归形式 https://redux-form.com是 React + Redux 环境中表单处理和验证的一种非常有效的方法。您遇到的问题似乎与缺少道具和一些接口定义有关。我在最后提供了一个沙箱。

解决方案可能是自己指定表单接口,如下所示:

export interface FormInterface {
  handleSubmit: PropTypes.func; 
  handleChange?: PropTypes.func;
  reset?: PropTypes.func;
  pristine?: PropTypes.bool;
  submitting?: PropTypes.bool;
  error?: PropTypes.bool;
  invalid?: PropTypes.bool;
  submitSucceeded?: PropTypes.bool;
  submitFailed?: PropTypes.bool;
  anyTouched?: PropTypes.bool;
}

并用它来推导LoginProps从。那么 typescript 就不会抱怨缺少 props,这显然是 redux 表单的工作方式。

看到这个sandbox https://codesandbox.io/embed/x3kq4p22ow了解详情。我也为您讨论了一些小问题。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

属性“isLoading”在类型“IntrinsicAttributes & IntrinsicClassAttributes>”上不存在 -Redux 表单 的相关文章

随机推荐

  • 如何阻止 Docker 注册表?

    我想阻止对默认 docker io 注册表的访问 为了安全 IP 保护 我们需要阻止对公共 Docker 中心的推 拉访问 曾经有过many尝试将此作为配置选项 但所有 PR 都不断被拒绝 红帽已经实现了 block registry 和
  • java 图形的多线程

    我有一个java应用程序 可以传输原始数据并相应地绘制实时图 这是通过调用我编写的使用 Graphics 对象的类中的方法来处理的 我在重写的paintComponent方法中实现了算法 以根据最新数据生成所有绘图 我的类中有其他方法来更新
  • 同时在 dplyr 中对多列进行 Shapiro.test

    我正在尝试对数据集运行正态性检验 shapiro wilk 并且我希望同时获得所有列的统计数据和 p 值 我已阅读 SO 上的所有其他页面 R 按组进行的夏皮罗测试不会产生 p 值和损坏的数据框警告 https stackoverflow
  • 除了第一个之外,所有意图都收到了错误的附加内容

    我有一个小应用程序 可用于设置未来事件的提醒 该应用程序使用 AlarmManager 来设置提醒用户的时间 当闹钟响起时 BroadcastReceiver 会对此进行注册 然后启动一项服务 通过 Toast 和状态栏中的通知来通知用户
  • 控制进程停止后 Android Activity 重新启动

    我的应用程序正在运行 Android Gingerbread 2 3 7 自定义版本的特殊设备上运行 在某些情况下 系统将终止我的应用程序 我认为设备制造商考虑到了这些紧急情况 应立即关闭所有第三方应用程序 以便设备可以执行其主要任务 我可
  • 使用dispatch_sync作为互斥锁

    这是我需要做的 我希望dispatch sync是使用GCD实现这一点的最佳方法 我有一段关键部分代码放置在 Appdelegate 的 applicationDidBecomeActive 回调中 我将该方法包装在dispatch syn
  • 将scala生成的数据写入文本文件

    我希望有人可以提供帮助 我是 scala 新手 并且在将输出写入文本文件时遇到一些问题 我有一个数据表 并且编写了一些代码来一次读取一行 执行我想要它执行的操作 现在我需要它将该行写入文本文件 例如 我有下表的数据类型 名称 日期 goX
  • 为什么 Scala 在第一种情况下警告类型擦除而不是第二种情况?

    我有两个函数 这些函数自原始以来没有被编辑过 下面的一些答案是对返回 序列的原始函数的响应 def foo1 A ls Iterable A Iterator A for List a b lt ls sliding 2 yield a d
  • 将“输入”传递给 Theano 中的函数的目的/含义是什么?

    我希望示例会让这一点更清楚 这是一个 Logistic 回归对象 Theano 张量库作为 T 导入 def init self input n in n out Other code self p y given x T nnet sof
  • 如何在构造微积分中提取Sigma的第二个元素?

    我尝试这样做 A gt B A gt gt t r gt x a gt B x gt r gt r gt t B t A x A gt y B x gt x x A gt y B x gt y 请注意 由于该函数返回的值取决于 sigma
  • PHP 加密和 Windows 解密

    我被困住了 看来PHP做的AES加密在windows下是无法解密的 PHP代码 encrypted base64 encode mcrypt encrypt MCRYPT RIJNDAEL 128 12345678 test MCRYPT
  • 使用变量在密码中创建关系?

    我正在尝试动态创建节点之间的关系 我遇到的问题是我无法使用变量来指定关系类型 例如 我有数据 nodes name Node1 relationships sourceNode Node1 destinationNode Node2 rel
  • 如何获取tf.data.dataset的形状?

    我知道数据集有output shapes 但它显示如下 data set DatasetV1Adapter 形状 item id hist 标签 client platform 入口 item id lable 模式 时间 user id
  • 使用 python tqdm 库重定向 stdout 和 stderr

    我在 Python 中使用 tqdm 来显示控制台进度条 我有一个来自另一个库的函数 它偶尔会写入 tqdm 循环内的 stdout 和 stderr 我无法破解该函数的源代码 While this doc https github com
  • Core Data 中的 DENY 删除规则何时真正拒绝删除对象?

    员工与其部门具有反向关系 反之亦然 Employee 实体有一个名为 department 的关系 并且有一条 DENY 删除规则 员工应被删除 现在 DENY 实际上是否拒绝删除员工 因为部门仍在引用部门 或者这是否意味着某个部门不能被删
  • Hibernate Polymorphism.EXPLICIT 注释不起作用?

    我知道有一些关于此的帖子 但大约一年了 没有任何回应 实际上我们使用的是 Hibernate 4 2 1 Final 而不是 PostgreSQL 8 4 我们有两个这样的实体 实体 A 顶级层次类 Entity Inheritance s
  • Mongoengine...查询不在 ListField 中的内容?

    例如 class Page Document tags ListField StringField 在这种情况下 我们可以像这样在标签列表中找到一个值 Page objects tags coding 如果标签类似于 coding x y
  • DirectoryEntries.Find:“指定了无效的 dn 语法”

    我正在尝试在当前域中查找用户 代码是这样的 DirectoryEntry domain new DirectoryEntry LDAP CN Users DC Environment UserDomainName DirectoryEntr
  • R 中的并行化:如何在每个节点上“获取”资源?

    我使用以下方法创建了并行工作人员 全部在同一台机器上运行 MyCluster makeCluster 8 我怎样才能使这 8 个节点中的每一个都成为我编写的 R 文件的源代码 我试过 clusterCall MyCluster source
  • 属性“isLoading”在类型“IntrinsicAttributes & IntrinsicClassAttributes>”上不存在 -Redux 表单

    我有一个容器组件和一个表单组件 表单组件 import as React from react import reduxForm Field InjectedFormProps from redux form export type Log