前端表单状态管理的一点经验
复杂表单最容易失控的地方,不是输入项数量,而是数据来源和校验时机混在一起。一个页面同时有接口默认值、用户输入、联动字段和提交前校验时,如果没有边界,很快就会变成一团难维护的状态。
拆分来源
我通常会把接口原始数据、表单编辑态和提交数据分开看。接口数据只负责初始化,编辑态只服务当前页面交互,提交数据则在最后一步明确组装。这样排查问题时,可以知道是哪一层出了偏差。
校验时机
实时校验适合格式简单的字段,跨字段校验更适合在提交前统一处理。过早校验会打断输入,过晚校验又会让错误堆到最后,实际项目里需要按字段重要程度取舍。