我应该忽略 React 警告:输入元素不应从不受控制切换到受控制吗?

2024-02-12

错误代码

警告:组件正在更改要控制的时间类型的不受控输入。输入元素不应从不受控制切换到受控制(反之亦然)。在组件的生命周期内决定使用受控或非受控输入元件。

描述

所以我有一个组件,可以根据数组中的项目动态呈现多个输入字段。我的数组包含 7 天,并且每天循环多个输入字段。每个输入字段都有一个操作。通过单击按钮,我可以选择某些输入字段是否需要具有相同的内容或不同的内容。每个输入字段还需要具有唯一的状态。所以,我创建一个像这样的空状态:

constructor(props) {
        super(props);
        this.state = {};
    }

并在我的循环中创建它,如下所示:

() => this.setState({ ['show' + day + '_morning'] : true })
() => this.setState({ ['show' + day + '_afternoon'] : true })

虽然我可以将这些状态中的每一个预定义为“showMonday_morning”等。我试图避免它,因为我想学习如何在循环中动态创建状态以供将来参考。

一切正常,但我收到上面的错误代码。

Question

我可以轻视这个错误还是应该解决这个问题?如果必须解决这个问题,如何在循环内动态创建和添加状态并避免此错误?


您不需要在构造函数中动态创建状态。相反,您可以有条件地在渲染中使用它。

<input value={this.state.['showSatMorning'] || ''} />

我可以轻视这个错误还是应该解决这个问题?

虽然此警告不会影响您的应用程序中的任何内容,但最好处理此类警告以保持应用程序的一致性并避免意外问题

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

我应该忽略 React 警告:输入元素不应从不受控制切换到受控制吗? 的相关文章

随机推荐

  • SQLiteOpenHelper 与 ContentProvider

    我是 Android 开发新手 我正在尝试创建一个从内部数据库 SQLite 读取并列出列表中的所有数据的应用程序 我正在使用listView 到目前为止我有一门叫做DatabaseHandler延伸SQLiteOpenHelper这就是执
  • 如何对D3js进行月/日本地化?

    我正在寻找一种在 D3 上进行本地化的方法 我已经找到了价值观 d3 time days Sunday Monday Tuesday Wednesday Thursday Friday Saturday d3 time dayAbbrevi
  • 请求:https://www.w3.org/2000/svg 找到:http://www.w3.org/2000/svg [重复]

    这个问题在这里已经有答案了 我们使用 Apache Batik 来渲染 SVG 文件 出于安全原因 所有 URL 均转换为 HTTP 现在 当我们渲染 SVG 文件时 我们遇到了这个问题 原始 SVG 是 svg xmlns http ww
  • Jackson - 将 JSON 反序列化为类

    我正在调用一个返回 JSON 的端点 看起来像这样 在 Postman 中 Result attribute1 attribute2 该请求返回的Content Type标头是text x json 与通常的application json
  • Sonata admin - 相关表中的“排序依据”字段

    我有一个产品管理课程 产品实体与类别实体具有多对一关系 即产品与类别相关联 在产品的管理 列表 页面中 我需要按每个产品关联的类别名称 按字母顺序 排序 如果字段位于实体本身上 则设置默认排序依据字段很容易 请参阅索纳塔管理员捆绑订单 ht
  • Retrofit中如何设置最大网络连接数

    我正在查看一些 AQuery 代码here https stackoverflow com questions 20488302 aquery android query how to load images actually发现有一种方法
  • 通过附加到新环境来检查 .rdata 文件的内容 - 可能吗?

    我感兴趣的是在 RDATA 文件中列出对象并仅加载选定的对象 而不是整个集合 以防某些对象可能很大或可能已存在于环境中 我不太清楚当名称存在冲突时如何做到这一点 因为attach 效果不太好 1 用于检查 R 数据文件的内容而不加载它 这个
  • 如何使用 html2canvas 和 jspdf 以正确且简单的方式导出为 pdf

    我目前正在开发一个学校管理软件 通常需要导出包含以下内容的html内容data tables and div tag 我已经尝试了所有可能的方法来编写一个能够以良好的方式导出我的 html 数据的代码 最好使用 css 在检查了一些问题和答
  • Heroku create-react-app 部署未捕获的语法错误:意外的令牌 <

    每当我使用 create react app buildpack 部署 heroku 应用程序时 第一次尝试访问我的域时 加载的页面是白色的 并且开发人员控制台中出现错误 Uncaught SyntaxError Unexpected to
  • 在Python中解析json字段

    有没有关于在 python 中解析 json 属性的好教程 我希望能够解析 ok 字段的真实值 以及名为 client ind 1 的索引 我不明白 python 文档对这个主题的覆盖范围 如果有人可以解释或向我指出更好的资源 那就太棒了
  • Cordova谷歌地图API密钥足够安全

    我想知道我现在使用的 Google 地图 API 密钥是否安全 因为我有一个带有 Google 地图的 Cordova 应用程序 所以我生成了一个 API 密钥 我无法将我的域密钥列入白名单 因为它在手机上运行客户端 此外 任何解压我的应用
  • 在 WinForms 中使用 XAML

    我想使用 XAML 在完整的 WinForms 应用程序中编译时生成类 尽管我愿意接受建议 但我不想使用 WPF 看起来这应该是可能的 但我找不到任何关于具体如何实现的信息 我发现的最接近的是这个页面 http anoriginidea w
  • 如何在故事板或 xib 中选择背景视图

    如果我用鼠标在情节提要或 xib 中选择一个视图 Xcode 将选择最前面的视图 我知道我可以选择文档大纲中的其他视图 但如果我想抓取背景视图并用鼠标移动它 当我在故事板中单击时 最前面的视图会再次被选中 我认为有一种方法可以循环浏览视图并
  • Visual Studio 2008 支持经典的 ASP 开发吗?

    Visual Studio 2008支持经典的ASP开发吗 我创建经典 ASP 网站已经很多年了 我想知道我是否可以使用我当前的工具集 或者我是否必须放弃使用记事本 Thanks Matt 我知道 VS 2008 现在包含经典 ASP 的智
  • 无法通过 AVPlayer 通过 HTTP 播放 mp3 文件

    我正在尝试通过 AVPlayer 播放 MP3 文件 let url URL string http transom org wp content uploads 2004 03 stereo 40kbps mp3 7 let asset
  • 关于学习“如何思考功能性”的建议?

    作为函数式语言的新手 几周前我开始接触 Erlang 我能接触到的第一种函数式语言 我开始写一些小算法 比如left rotate list bubble sort merge sortETC 我发现自己经常迷失在诸如 我应该使用辅助列表来
  • EJB Glassfish v3.1.2 客户端向会话 bean 传递的数据始终为 null

    我在调用会话 bean 方法从客户端传递方法参数时遇到问题 应用程序中 到达方法调用的数据始终为 null 或设置为默认值 而方法的过程与对象配合得很好 例如 我们有方法来持久化一个对象实体addStudent Student Studen
  • Snakemake 中“未给出通配符错误值”

    我正在尝试使用 Snakemake 制作一个简单的管道 从网络上下载两个文件 然后将它们合并到一个输出中 我认为可行的是以下代码 dwn lnks 1 https molb7621 github io workshop downloads
  • 水平滚动条未显示在我的文本框中

    在 Winform C 应用程序上 我在表单上显示一个文本框 该文本框将显示一行 仅一行 我想展示并使用水平滚动条 我将属性 滚动条 设置为水平 滚动条不显示 我将 WordWrap 添加为 false ScrollBar 不显示 我将 M
  • 我应该忽略 React 警告:输入元素不应从不受控制切换到受控制吗?

    错误代码 警告 组件正在更改要控制的时间类型的不受控输入 输入元素不应从不受控制切换到受控制 反之亦然 在组件的生命周期内决定使用受控或非受控输入元件 描述 所以我有一个组件 可以根据数组中的项目动态呈现多个输入字段 我的数组包含 7 天