如何在添加产品成功后清除ReactJs中的表单输入
我想在提交表单后清除表单输入,但我不能。我该怎么做 这是我的密码如何在添加产品成功后清除ReactJs中的表单输入,reactjs,Reactjs,我想在提交表单后清除表单输入,但我不能。我该怎么做 这是我的密码 const onHandleSubmit = (e) => { if (values.name.trim() === "") { setIsValid(false); } else { createProductRequest(values, imageAsFile); } }; 这是我的setdefaultValue const [value
const onHandleSubmit = (e) => {
if (values.name.trim() === "") {
setIsValid(false);
}
else {
createProductRequest(values, imageAsFile);
}
};
这是我的setdefaultValue
const [values, setValues] = useState({
image: "",
name: "",
price: 0,
description: "",
categoty: "",
});
这是我在表单中的按钮
<Button
btnText="Submit"
size="btn-md"
onClick={onHandleSubmit}
disabled={isValid}
/>
我必须这样做
useEffect(() => {
if (type.CREATE_PRODUCT_SUCCESS) {
fetchProductRequest();
const defaultValues = {
image: "",
name: "",
price: 0,
description: "",
categoty: "",
}
setValues(defaultValues)
}
}, [fetchProductRequest, type
]);
但它不起作用
我从react bootstrap自定义我的表单
谢谢您的帮助。只需添加:
setValues({
image: "",
name: "",
price: 0,
description: "",
categoty: "",
})
在createProductRequest(值,imageAsFile)之后代码>
比如:
else {
createProductRequest(values, imageAsFile);
setValues({
image: "",
name: "",
price: 0,
description: "",
categoty: "",
})
}
最好不要调用来自组件主体的请求,以避免存储中的数据同步问题。出于这些目的,请使用诸如redux thunk或redux sagas之类的中间件。在它们中,在服务器成功响应后,调用该方法以清除输入:
const defaultValues={
图像:“”,
姓名:“,
价格:0,,
说明:“,
类别:“,
}
setValues(defaultValues)
非常感谢您,但我不允许这样做,因为它可能由于某种原因而失败!我有我上面的问题,你能帮我再检查一下吗?你能支持我吗
else {
createProductRequest(values, imageAsFile);
setValues({
image: "",
name: "",
price: 0,
description: "",
categoty: "",
})
}