Reactjs js:1375警告:组件正在更改要控制的文本类型的非受控输入
如果用户已经通过身份验证,我在添加(react-route-dom)后注意到了这个错误。 我不明白为什么我会犯这个错误。 我发现了一些类似的问题,答案总是关于Reactjs js:1375警告:组件正在更改要控制的文本类型的非受控输入,reactjs,react-router-dom,Reactjs,React Router Dom,如果用户已经通过身份验证,我在添加(react-route-dom)后注意到了这个错误。 我不明白为什么我会犯这个错误。 我发现了一些类似的问题,答案总是关于'undefined'state。。但我认为情况并非如此 这是我的代码: function SignIn() { const classes = useStyles(); const [state, dispatch] = useUserStore(); const [formData, setFormData] = use
'undefined'
state。。但我认为情况并非如此
这是我的代码:
function SignIn() {
const classes = useStyles();
const [state, dispatch] = useUserStore();
const [formData, setFormData] = useState({
email: "",
password: "",
remember: false
});
const { email, password, remember } = formData;
const handleChange = e =>
setFormData({ ...formData, [e.target.name]: e.target.value.trim() });
const submitForm = async form => {
form.preventDefault();
login(email, password, remember, dispatch);
};
if (state.auth.isAuthenticated) return <Redirect to="/setting" />;
return (
<Container component="main" maxWidth="xs">
<CssBaseline />
<div className={classes.paper}>
<form className={classes.form} onSubmit={form => submitForm(form)}>
<TextField
variant="standard"
margin="normal"
fullWidth
id="email"
label="Email Address or Username"
name="email"
autoComplete="email"
value={email}
onChange={e => handleChange(e)}
autoFocus
/>
<TextField
variant="standard"
margin="normal"
fullWidth
name="password"
label="Password"
type="password"
id="password"
value={password}
onChange={e => handleChange(e)}
autoComplete="current-password"
/>
...
函数签名(){
const classes=useStyles();
const[state,dispatch]=useUserStore();
常量[formData,setFormData]=useState({
电邮:“,
密码:“”,
记住:错
});
const{email,password,memory}=formData;
常量handleChange=e=>
setFormData({…formData,[e.target.name]:e.target.value.trim()});
const submitForm=async form=>{
form.preventDefault();
登录(电子邮件、密码、记住、发送);
};
如果(state.auth.isAuthenticated)返回;
返回(
提交格式(表格)}>
handleChange(e)}
自动对焦
/>
handleChange(e)}
autoComplete=“当前密码”
/>
...