React文档里面对受控和非受控组件做了说明,但是貌似只拿表单做类比,所谓受控就是这类表单数据的变化的过程都能被react控制,如果只给初始值defaultValue,那么它是一个非受控组件。
个人的简单理解就是
你能控制这个组件的输入,和变化,就是可控组件
相反
你只能控制初始值,后面的变化由组件内部控制,那么就是非受控组件
这些例子在input
, textarea
等组件上是比较好理解的,那么我们在自定义组件上是否也可以划分受控
, 非受控
呢?
比如props会影响子组件的初始值,但是组件内部也会去控制这个值,这时候是受控还是不受控,如果影响初始值的这个逻辑,在子组件中进行捕获,然后再做处理,这个时候是受控还是非受控?还是间歇受控?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…