【发布时间】:2020-10-23 01:25:23
【问题描述】:
我正在尝试使用状态挂钩使 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>
);
}
我想我在这里错过了以正确方式使用状态挂钩的重要内容。 任何帮助将不胜感激。
【问题讨论】:
标签: javascript reactjs material-ui react-hooks textfield