美文网首页
受控组件 和 非受控组件

受控组件 和 非受控组件

作者: 樱木夜访流川枫 | 来源:发表于2018-07-08 12:21 被阅读0次

    概览

    文章内容选自陈屹的《深入React技术栈》,本文的主题是介绍受控组件与非受控组件。

    内容

    1、受控组件(React官方推荐)

    维护者:使用者
    表单元素中,每当表单的状态发生变化时,需要 写入组件的state ,组件渲染出的状态与它的 value 或 checked prop 相对应。

    2、非受控组件(React反模式)

    维护者:dom 自身
    表单元素中,通过 defaultValue 或者 defaultChecked 来设置表单的默认值,仅会被渲染一次 ,在后续的渲染中并不起作用。

    补充:值不受组件自身的 state 或 props 控制, 通过 添加 ref prop 来访问渲染后的底层 DOM 元素。

    3、对比受控组件与非受控组件

    最大区别:非受控组件的状态并不会受应用状态的控制,而受控组件的值来源于组件的状态。

    1、性能问题:
    受控组件:每当表单的值发生变化时,会调用一次 onchange 事件处理器,会产生性能消耗。

    2、 事件绑定:
    受控组件:需要绑定 change 事件,并且需要定义一个事件处理器来同步 表单值 和 组件 的状态。

    相关文章

      网友评论

          本文标题:受控组件 和 非受控组件

          本文链接:https://www.haomeiwen.com/subject/kmhouftx.html