SUNYIMIN / react-review

react
2 stars 0 forks source link

什么是受控组件和非受控的组件? #5

Open SUNYIMIN opened 4 years ago

SUNYIMIN commented 4 years ago

1.受控组件:就是随着用户输入,表单的内容是可以通过状态显示的的组件,即每一种状态,都有其相关的处理程序。

this.setState({ value: 1 })

2.一个不带value属性的input组件是非受控组件。用户的任何输入都将立即被反应在渲染元素上。 不受控制的组件保持其自身的内部状态。

3.混用受控组件和非受控组件四大原则: 1.props.value始终具有比内部state.value更高的优先级。 2.组件的任何更改都应同步到内部state.value,然后通过props.onChange请求更新上层组件的状态 3.当组件接收到新的props时将props.value映射到state.value 4.确保优先的值发生变化才更新组件。 参考:https://www.cnblogs.com/star91/p/React-hun-he-shou-kong-zu-jian-yu-fei-shou-kong-zu.html#toc_0

4.为什么要设计混合受控组件和非受控组件? 混合型组件,父级组件可以获取子组件内部的状态