首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于react final-form,为什么第三方组件的meta.touched总是假的?

React Final Form是一个用于构建表单的React库。它提供了一种简单且灵活的方式来处理表单的状态管理和验证。

在React Final Form中,第三方组件的meta.touched属性表示该组件是否被触摸过(即用户是否与该组件进行过交互)。但有时候,我们可能会遇到第三方组件的meta.touched属性始终为假的情况。

这通常是由于以下几个原因导致的:

  1. 未正确连接表单组件和React Final Form:确保你的第三方组件正确连接到了React Final Form的表单上。你可以使用<Field>组件将第三方组件包装起来,并将其与表单关联起来。例如:
代码语言:jsx
复制

import { Field } from 'react-final-form';

// ...

<Field name="fieldName" component={ThirdPartyComponent} />

代码语言:txt
复制

这样,React Final Form就能够正确地跟踪第三方组件的状态。

  1. 未正确传递input属性:第三方组件需要接收来自React Final Form的input属性,以便与表单进行交互。确保将input属性传递给第三方组件,并将其与相应的输入元素绑定。例如:
代码语言:jsx
复制

const ThirdPartyComponent = ({ input }) => (

代码语言:txt
复制
 <input {...input} />

);

代码语言:txt
复制

这样,React Final Form就能够正确地更新第三方组件的状态。

  1. 未正确处理meta属性:第三方组件还需要处理来自React Final Form的meta属性,以便正确显示表单的验证状态。确保将meta属性传递给第三方组件,并根据meta属性中的信息来更新组件的样式或显示错误信息。例如:
代码语言:jsx
复制

const ThirdPartyComponent = ({ input, meta }) => (

代码语言:txt
复制
 <div>
代码语言:txt
复制
   <input {...input} />
代码语言:txt
复制
   {meta.error && meta.touched && <span>{meta.error}</span>}
代码语言:txt
复制
 </div>

);

代码语言:txt
复制

这样,React Final Form就能够正确地显示第三方组件的验证状态。

总结起来,如果第三方组件的meta.touched总是假的,可能是由于未正确连接表单组件和React Final Form、未正确传递input属性或未正确处理meta属性所导致的。确保按照上述步骤正确配置和使用第三方组件,就能够解决这个问题。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供可扩展的云服务器实例,适用于各种应用场景。
  • 腾讯云云数据库 MySQL 版:提供高性能、可扩展的云数据库服务,适用于存储和管理大规模数据。
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于存储和管理各种类型的数据。
  • 腾讯云人工智能:提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等,适用于各种智能化场景。
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,帮助连接和管理物联网设备,适用于智能家居、智能工业等领域。
  • 腾讯云移动开发:提供全面的移动应用开发解决方案,包括移动后端服务、移动推送、移动测试等。
  • 腾讯云区块链:提供安全、高效的区块链服务,适用于构建可信任的区块链应用。
  • 腾讯云音视频处理:提供强大的音视频处理能力,包括转码、截图、水印等功能,适用于音视频处理场景。
  • 腾讯云云原生应用平台(TKE):提供全面的云原生应用平台,帮助用户快速构建和管理容器化应用。
  • 腾讯云网络安全:提供全面的网络安全解决方案,包括DDoS防护、Web应用防火墙等,保护用户的网络安全。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

React第三方组件1(路由管理之Router使用③传参)

1、React第三方组件1(路由管理之Router使用①简单使用)---2018.01.22 2、React第三方组件1(路由管理之Router使用②多层级跳转及重定向)---2018.01.23...3、React第三方组件1(路由管理之Router使用③传参)---2018.01.24 4、React第三方组件1(路由管理之Router使用④按需加载-上)---2018.01.25 5、React...第三方组件1(路由管理之Router使用⑤按需加载-下)---2018.01.26 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2 今天我们讲下...,如何给路由转递参数,路由下组件如何接收参数!...我们要实现目标是给demo2-2 路由传递参数!然后在TodoList下接收参数! 我们先用下 react-router-dom Link组件

98730
  • React第三方组件5(状态管理之Redux使用①简单使用)

    你可以进入历史消息查看以往文章,也敬请期待我们新文章!...1、React第三方组件5(状态管理之Redux使用①简单使用)---2018.03.20 2、React第三方组件5(状态管理之Redux使用②TodoList上)---2018.03.21 3、...React第三方组件5(状态管理之Redux使用③TodoList中)---2018.03.22 4、React第三方组件5(状态管理之Redux使用④TodoList下)---2018.03.23...5、React第三方组件5(状态管理之Redux使用⑤异步操作)---2018.03.26 6、React第三方组件5(状态管理之Redux使用⑥Redux DevTools)---2018.03.27...用法 http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_three_react-redux.html 我这里就不对这些概念多做介绍

    1.2K40

    React第三方组件2(状态管理之Refast使用⑤LogicRender使用)

    你可以进入历史消息查看以往文章,也敬请期待我们新文章!...1、React第三方组件2(状态管理之Refast使用①简单使用)---2018.01.29 2、React第三方组件2(状态管理之Refast使用②异步修改state)---2018.01.30...3、React第三方组件2(状态管理之Refast使用③扩展ctx)---2018.02.31 4、React第三方组件2(状态管理之Refast使用④中间件middleware使用)---2018.02.01...5、React第三方组件2(状态管理之Refast使用⑤LogicRender使用)---2018.02.02 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm...http://doc.refast.cn/LogicRender.html LogicRender 是一个配合 Refast 使用逻辑组件。可以嵌套使用,可以根据条件执行特定 Action。

    1K50

    React第三方组件2(状态管理之Refast使用③扩展ctx)

    1、React第三方组件2(状态管理之Refast使用①简单使用)---2018.01.29 2、React第三方组件2(状态管理之Refast使用②异步修改state)---2018.01.30...3、React第三方组件2(状态管理之Refast使用③扩展ctx)---2018.02.31 4、React第三方组件2(状态管理之Refast使用④中间件middleware使用)---2018.02.01...5、React第三方组件2(状态管理之Refast使用⑤LogicRender使用)---2018.02.02 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm...为什么要扩展ctx? 比如说你异步请求会有个加载提示,或者说请求成功给个提示! 我们今天要做就是请求成功后给个提示,失败也会给个提示!...OK,提示是 服务端返回错误信息! 那这是为什么呢? 主要看这里 ?

    1.1K40

    React第三方组件2(状态管理之Refast使用①简单使用)

    1、React第三方组件2(状态管理之Refast使用①简单使用)---2018.01.29 2、React第三方组件2(状态管理之Refast使用②异步修改state)---2018.01.30...3、React第三方组件2(状态管理之Refast使用③扩展ctx)---2018.02.31 4、React第三方组件2(状态管理之Refast使用④中间件middleware使用)---2018.02.01...5、React第三方组件2(状态管理之Refast使用⑤LogicRender使用)---2018.02.02 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm...确实做到了(5分钟就能学会 React 组件状态管理工具)! 文档地址:http://doc.refast.cn/ 我们今天来用下Refast!...此外,ctx 还封装了以下几个通用方法: ctx.setState 设置组件 state, 用法与组件 setState 相同 ctx.getState 获取组件当前 state ctx.getProps

    1.7K70

    React第三方组件4(状态管理之Reflux使用①简单使用)

    1、React第三方组件4(状态管理之Reflux使用①简单使用)---2018.03.13 2、React第三方组件4(状态管理之Reflux使用②TodoList上)---2018.03.14...3、React第三方组件4(状态管理之Reflux使用③TodoList中)---2018.03.15 4、React第三方组件4(状态管理之Reflux使用④TodoList下)---2018.03.16...5、React第三方组件4(状态管理之Reflux使用⑤异步操作)---2018.03.19 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2...相同点 1、有actions 2、有stores 3、单向数据流 不同点 1、通过内部拓展actions行为,移除了单例dispatcher 2、stores可以监听actions行为,无需进行冗杂...2、reflux下Index.jsx代码 import React from 'react'; import {HashRouter, Route, NavLink, Redirect} from '

    1.2K80

    React第三方组件4(状态管理之Reflux使用②TodoList上)

    1、React第三方组件4(状态管理之Reflux使用①简单使用)---2018.03.13 2、React第三方组件4(状态管理之Reflux使用②TodoList上)---2018.03.14...3、React第三方组件4(状态管理之Reflux使用③TodoList中)---2018.03.15 4、React第三方组件4(状态管理之Reflux使用④TodoList下)---2018.03.16...5、React第三方组件4(状态管理之Reflux使用⑤异步操作)---2018.03.19 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2...1、React第三方组件4(状态管理之Reflux使用①简单使用)---2018.03.13 2、React第三方组件4(状态管理之Reflux使用②TodoList上)---2018.03.14...3、React第三方组件4(状态管理之Reflux使用③TodoList中)---2018.03.15 4、React第三方组件4(状态管理之Reflux使用④TodoList下)---2018.03.16

    85050

    React第三方组件1(路由管理之Router使用①简单使用)

    1、React第三方组件1(路由管理之Router使用①简单使用)---2018.01.22 2、React第三方组件1(路由管理之Router使用②多层级跳转及重定向)---2018.01.23...3、React第三方组件1(路由管理之Router使用③传参)---2018.01.24 4、React第三方组件1(路由管理之Router使用④按需加载-上)---2018.01.25 5、React...第三方组件1(路由管理之Router使用⑤按需加载-下)---2018.01.26 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2 今天我们讲下...先来看下我们之前文件 ? 大家可能会奇怪为什么每个Index.jsx文件,都这么写,其实你可以不这么写,我只是为了预留给将来用react-router使用!...exact :精确匹配 如果你组件需要传值,就得返回这个组件: }/> 不需要传值就直接这样写

    1.7K30
    领券