Closed cwtuan closed 3 years ago
同样的问题,还有 required 的组件,被UNmount后,校验还是会出错,原因应该是一样的
比较难处理,因为组件的 unmount 不是立刻进行的,是 rerender 后的某个时机才执行的。所以立刻就使用确实还存在。暂时无解
是不是只能onChange后,setTimeout(this.forceUpdate, 1000)
这样hack一下了?
是不是只能onChange后,
setTimeout(this.forceUpdate, 1000)
这样hack一下了?
确实如此,React unmount 是异步的,Field 也是等 unmount 时候才能更新数据
Component
Field
Reproduction link
https://riddle.alibaba-inc.com/riddles/27e81388
Steps to reproduce
将"下拉1"选成"b" 这时候"输入1"消失,符合预期。 但是field的值居然有input1,正常情况应该不能有input1
应此也导致了input2没有消失(input2依赖了input1)