反应状态挂钩问题

苏博吉特

我正在尝试使用状态挂钩来使onChange与material-ui一起正确处理错误文本。但是得到一个问题。我已附上控制台中出现的错误屏幕。在此处输入图片说明

这是我的代码:

import React, { Component, useState } from 'react';
import TextField from 'material-ui/TextField';
import RaisedButton from 'material-ui/RaisedButton';

export const CreateForm = (props) => {
    const { containerClass } = props;
    let [dataAction, setDataAction] = useState({ errorNameText: 'Enter product name!' });
    let errorNameText = 'Enter the name!';

    const handleNameChange = (event) => {
        const name = event.target.value;
        if(name && name !== '') {
            setDataAction(prevState => {
                prevState.errorNameText = '';
            })
        }
    }
    return(
        <div className={containerClass}>
            <div>
                <TextField
                    className="product_nameField"
                    floatingLabelText="Product Name"
                    errorText={dataAction.errorNameText}
                    onChange={handleNameChange}
                />
            </div>
            <br/>
            <div>
                <TextField
                    className="product_priceField"
                    floatingLabelText="Product Price"
                />
            </div>
            <br/>
            <div>
                <TextField
                    className="product_infoField"
                    floatingLabelText="Product Info"
                />
            </div>
            <br/>
            <div>
                <RaisedButton label="Submit" primary={true} />
            </div>
        </div>
    );
}

我想我在这里缺少以正确方式使用状态挂钩的重要内容。任何帮助,将不胜感激。

D10S

更改

const handleNameChange = (event) => {
    const name = event.target.value;
    if(name && name !== '') {
        setDataAction(prevState => {
            prevState.errorNameText = '';
        })
    }
}

   const handleNameChange = (event) => {
        const name = event.target.value;
        if(name && name !== '') {
             setDataAction({ errorNameText: ''})   <------ CHANGED
        }
    }
 

请让我知道它是否解决了,然后我会详细说明。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

反应挂钩-通过功能从子级设置父级状态

来自分类Dev

验证状态和输入反应问题

来自分类Dev

问题的无限通话API上反应挂钩

来自分类Dev

反应挂钩,每个状态值一个挂钩?

来自分类Dev

无法在反应挂钩中的setInterval内部更新状态

来自分类Dev

在useState挂钩中设置状态后,反应状态变量不准确

来自分类Dev

保存axios对状态反应挂钩的响应

来自分类Dev

反应挂钩滚动事件性能问题

来自分类Dev

如何使用反应挂钩设置状态数组

来自分类Dev

反应挂钩函数依赖

来自分类Dev

我在设置功能挂钩的状态时面临问题

来自分类Dev

反应挂钩,状态未正确更改

来自分类Dev

反应-useState挂钩访问状态

来自分类Dev

TypeError:show.visible是不可迭代的。反应挂钩,状态不会更新

来自分类Dev

反应挂钩无法使用动态命名正确更新状态

来自分类Dev

反应声音状态管理问题

来自分类Dev

反应状态挂钩不传递对元素的更改

来自分类Dev

反应挂钩结构的特定问题

来自分类Dev

动态导入反应挂钩

来自分类Dev

反应上下文Api和状态挂钩突变

来自分类Dev

反应类组件或挂钩

来自分类Dev

在状态更新时反应挂钩重新渲染错误

来自分类Dev

反应挂钩-从父组件分派重置状态

来自分类Dev

使用挂钩设置反应状态时未定义

来自分类Dev

反应挂钩状态未更新

来自分类Dev

验证状态和输入反应问题

来自分类Dev

什么是正确的语法来更新对象的反应挂钩状态

来自分类Dev

反应挂钩,setTimeOut将状态设置为false

来自分类Dev

反应挂钩状态-不更新组件