属性“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 表单 的相关文章

  • Next.js - 如何使用 Provider 来包装路由并使用 Context 和 Hooks

    我在 create react app 中编写了类似于以下的代码 我想知道 next js 的等效代码 下面的代码是我尝试拥有一个可用于所有页面的全局上下文 提供者包装链接 我没有收到任何错误 问题出在里面about当我期望上下文状态时 页
  • 在 TypeScript 中迭代对象的键和值

    在纯 JavaScript 中 我们可以迭代对象属性和值 如下所示 const values Object keys obj map key gt obj key 在 TypeScript 中 此语法是错误的 因为 TS 编译器显示以下消息
  • SWC with JavaScript:如何处理 CSS 导入以及如何绝对导入?

    TL DR 如何告诉 SWC 编译 React 组件中导入的 CSS 文件 如何告诉 SWC 在测试和 React 组件中编译绝对导入 这是一个最小的可重现示例 https github com janhesters riteway swc
  • 在 Nestjs 的我的模块中导入另一个模块的存储库

    我正在尝试使用 Nestjs 构建一个应用程序 目前我有两个模块 用户和身份验证 其结构如下 我需要注射用户服务 into 认证服务为了与User实体 所以首先我注入了用户存储库 into 用户服务并导出服务 用户 模块 ts import
  • Redux 状态 - 最大推荐大小

    我正在构建一个项目管理应用程序 但我仍然在努力解决一个问题 在 Redux 状态中存储什么以及 按需 加载什么 Redux 状态是否有已知的 最大推荐大小 几十千字节 几百千字节 兆字节单位 请记住 归根结底 Redux 只是 如何 将信息
  • 到子级的角度路由 - 来自不同父级的子级

    我正在使用打字稿进行角度路由 但面临一些路由问题 流程似乎是 我真正想做的是通过Child Child2的一部分 其ID为Child1的Child 路由 但它不显示页面 Child1 用于插入 更新的所有路由都驻留在 Child1 中 而
  • 如何使用 next.js 将动态 html 元素注入到页面?

    如何使用next js动态注入html元素到页面 这些元素未知类型 例如 输入 复选框 img 使用返回 json 类型的 api 指定此元素 如下所示 id rooms title Rooms order 1 type string wi
  • Typescript 从 CDN 导入 .js

    在我的 ts 文件中 我想引用 js 由第三方托管 并使用 js 文件中的一些函数 到目前为止 我发现如何做到这一点的唯一方法是修改 html 页面并插入 ts 本身的标签 除了修改 html 页面之外 还有其他更优雅的方法吗 听起来您正在
  • 如何使用 Jest 测试 React 渲染的异步数据?

    我使用 React 进行渲染 使用 Jest Jasmine 进行测试 我用旧的 Jest Jasmine 编写了测试waitsFor and runs但这些现在在 Jasmine 2 中已经消失了 我不知道如何用新的替换done asyn
  • Next.js TypeScript 错误:您没有安装所需的软件包[重复]

    这个问题在这里已经有答案了 我目前正在他们方便的 typescript starter 的帮助下构建一个基本的 nextjs 网站 使用开发时一切都运行顺利yarn dev直到大约 20 分钟前 每当我尝试运行时 我都会随机收到一条错误消息
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • Apollo 客户端延迟刷新

    In Apollo Client v3React 实现 我使用钩子来使用订阅 当我从订阅接收数据时 我想重新获取查询 但前提是查询之前已执行过并且位于缓存中 有办法实现这一点吗 我首先进行惰性查询 然后在收到订阅数据时手动检查缓存 然后尝试
  • Typescript Enum Object.values() 返回值

    为什么Object values and Object keys 总是同时给出键和值 考虑以下代码 enum Enum FOO BAR console log Object values Enum console log Object ke
  • Angular 2 中的变更检测

    我正在将角度 1 和角度 2 集成在一起 因此我有角度 1 控制器和服务以及角度 2 组件 这些对于数据检索和存储来说工作得很好 反之亦然 下面是我的 html 页面 h3 Angular 1 service h3 div div
  • Firebase 托管部署失败

    Running firebase deploy在给我一个超时错误之前会运行几分钟Error ESOCKETTIMEDOUT 我之前已经成功部署了多次 除了项目的前端 用 React 编写 之外 没有更改任何内容 我有一个单独的文件夹 其中包
  • npm 命令 create-react-app 失败

    我正在尝试在运行 Os X sierra 10 12 6 的计算机 mac pro 2017 上测试reactjs 我已经遵循了 Facebook 教程 确保您安装了最新版本的 Node js done 按照安装说明进行操作创建一个新项目
  • TypeScript:增强内置类型

    如何增强其中一种 内置 类型 例如数组 在 JS 中 我会做类似的事情 Array prototype shuffle function TypeScript 中的等价物是什么 TypeScript 中的类型是 开放式 的 所以你可以这样写
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 如何循环 Record

    I have Records类型Record https www typescriptlang org docs handbook utility types html recordkt export interface List name

随机推荐

  • 如何阻止 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