reactjs - 如何使用 React 构建大型表单
问题描述
我正在创建一个大表单来制作具有许多组件的新产品,例如“描述、图像、价格等”。
我的想法是为“NewProduct”生成一个容器,并在其内部调用许多小型组件。
我的问题是我不知道做这个的好习惯是什么。
我的意思是,每个组件都有自己的验证,但是这些验证将在父组件提交时触发。
我想获得每个表格的状态并在父状态内部设置。
这是我的NewProductContainer实际代码:
class NewProductSection extends React.Component{
constructor(props) {
super(props);
this.state = {
description: {
name:"",
description:"",
},
images: [],
prices: {
price:"",
price_compare:"",
flat_price:""
},
inventory: {
sku:"",
bar_code: "",
quantity: "",
},
shipping: {
weight:"",
logitic_service: "",
},
variants: [],
seo: {
page_title: "",
meta_description: "",
url:"",
}
};
}
render(){
return (
<div className="row">
<div className="col-8">
<Description/>
<LoadImages/>
<ProductPrices/>
<Inventory/>
<Shipping/>
<Variants/>
<Seo/>
</div>
<div className="col-4">
<Organization/>
</div>
</div>
);
}
}
描述组件
class Description extends React.Component{
render(){
return (
<div className="card">
<div className="card-body">
<div className="form-group">
<label htmlFor="inputAddress">Nombre</label>
<input type="textarea" className="form-control" id="inputAddress" placeholder="1234 Main St" />
</div>
<div className="form-group">
<label htmlFor="inputAddress">Description</label>
<textarea className="form-control" rows={5} id="comment" defaultValue={""} />
</div>
</div>
</div>
)
}
}
export default Description;
有什么建议吗?
解决方案
我建议你使用正式的,它是一个库来处理带有反应钩子的表单并避免重复性任务。
推荐阅读
- c++ - 动态数组似乎比它的动态大小变量大
- go - 'protoc-gen-go-grpc: program not found or is not executable',尽管付出了所有努力
- python - 无法从 anaconda navigator 启动 jupyter notebook 或 spyder
- python - Kivy 按钮和变量的问题
- nginx - 告诉 Nginx 在不同的目录中查找我的主题文件
- django - Django 遍历 Queryset 并获取用户输入
- react-native - 为什么我的应用程序停止发出 api 请求?
- azure - 如何在 Azure 管道运行期间检索 VsTest 测试计划测试用例 ID 并在自动化代码中使用它
- c# - C# UWP Richeditbox 缩放内容有问题
- javascript - MS Access - 按钮“添加”上的 2021 语法错误