回答react中受控组件是啥

 所属分类:web前端开发

 浏览:142次-  评论: 0次-  更新时间:2022-10-31
描述:更多教程资料进入php教程获得。 在react中,受控组件是用state来获取和设置输入元素值的组件;也可以理解为渲染表单的React组件还控制着用...
更多教程资料进入php教程获得。

在react中,受控组件是用state来获取和设置输入元素值的组件;也可以理解为渲染表单的React组件还控制着用户输入过程中表单发生的操作,被React以这种方式控制取值的表单输入元素就叫做受控组件。

前端(vue)入门到精通课程:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境: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

- 阻止表单提交

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

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

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

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

 标签: react,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!