React 的组件只有 2 种值
1. 外部传入 props 或者 useContext 的跨组件值,这些都是外部值
2. 内部变化 state
你所说的所有情况都可以抽象为这种
当前页面没有任何操作时的初始值
当前页面从外部跳转过来时,使用外部跳转过来的值
-----
上面两种情况是一样的,都是初始值,放在 props 传入
当前页面编辑后,缓存到本地的值
-----
其实就是内部 state 的缓存,这里的缓存看你控制的细粒度了,可以整个表单的 state 缓存,也可以单独组件的 state 缓存,这里抽象会复杂一些,性能要求不高,表单控件不多的话,就用表单缓存
页面里的交互逻辑,比如操作了 A 组件导致 B 组件变化了的值
-----
A 引起 B 变化就是 B 的 props 引入了根据 A 变化的值,这种情况下 B 肯定要重新渲染的
React 的特性需要抽象成最小细粒的组件,以组件为单位渲染即可。
建议使用现成的 Form 组件或者 react-hook-form ,UI 根据数据渲染即可