我是靠谱客的博主 冷静背包,这篇文章主要介绍react中受控组件是啥,现在分享给大家,希望可以做个参考。

本教程操作环境:Windows10系统、react17.0.1版、Dell G3电脑。

react中受控组件是啥

React官网中对于受控组件是这样解释的: 渲染表单的 React 组件还控制着用户输入过程中表单发生的操作。被 React 以这种方式控制取值的表单输入元素就叫做“受控组件”。

用state来获取和设置输入元素值的组件,称之为受控组件。<input type="text">, <textarea> 和 <select> 等标签都可用 value 属性,来实现受控组件。

有网友这样解释:在React中,每当表单的状态发生变化时,都会被写入到组件的state中,这种组件在React被称为受控组件。

受控组件的更新流程:

1,可以通过在初始state中设置表单的默认值

2,每当表单的值发生变化时,调用onChange事件处理器,

3,事件处理器通过事件对象e拿到改变后的状态,改变state;

4,setState触发视图更新,完成表单组件值的更新

示例:input

- 阻止表单提交

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class NameForm extends React.Component { constructor(props) { super(props); this.state = { value: '' }; this.handleChange = this.handleChange.bind(this); this.handleSubmit = this.handleSubmit.bind(this); } handleChange(event) { this.setState({ value: event.target.value }); } handleSubmit(event) { alert('提交的名字: ' + this.state.value); event.preventDefault(); } render() { return ( <form onSubmit={this.handleSubmit}> <label> 名字: <input type="text" value={this.state.value} onChange={this.handleChange} /> </label> <input type="submit" value="提交" /> </form> ); } }
登录后复制

- file类型input

复制代码
1
2
// file类型的input,属性value是只读的,所以是非受控组件 <input type="file" />
登录后复制

推荐学习:《react视频教程》

以上就是react中受控组件是啥的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是冷静背包最近收集整理的关于react中受控组件是啥的全部内容,更多相关react中受控组件是啥内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部