Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.3k views
in Technique[技术] by (71.8m points)

关于受控非受控组件的一些疑问,客官进来看看

React文档里面对受控和非受控组件做了说明,但是貌似只拿表单做类比,所谓受控就是这类表单数据的变化的过程都能被react控制,如果只给初始值defaultValue,那么它是一个非受控组件。
个人的简单理解就是

你能控制这个组件的输入,和变化,就是可控组件
相反
你只能控制初始值,后面的变化由组件内部控制,那么就是非受控组件

这些例子在input, textarea等组件上是比较好理解的,那么我们在自定义组件上是否也可以划分受控, 非受控呢?
比如props会影响子组件的初始值,但是组件内部也会去控制这个值,这时候是受控还是不受控,如果影响初始值的这个逻辑,在子组件中进行捕获,然后再做处理,这个时候是受控还是非受控?还是间歇受控?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

你最后说的那中情况是非受控组件,受控的意思是子组件的渲染时机完全由父组件控制。换个通俗的讲法,受控组件就是个“听话的工具人”,父组件给啥用啥,让你干啥你就干啥,不给你,不指挥你,你就啥也不干,至于怎么用,就看开发者把它定义为实现何种功能。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...