React之受控组件和非受控组件以及高阶组件

通过上面的了解,高阶组件能够提高代码的复用性和灵活性,在实际应用中,常常用于与核心业务无关但又在多个模块使用的功能,如权限控制、日志记录、数据校验、异常处理、统计上报等。中,高阶组件即接受一个或多个组件作为参数并且返回一个组件,本质也就是一个函数,并不是一个组件。所以,高阶组件的主要功能是封装并分离组件的通用逻辑,让通用逻辑在组件间更好地被复用。受控组件,简单来讲,就是受我们控制的组件,组件的状态全程响应外部数据。把通用的逻辑放在高阶组件中,对组件实现一致的处理,从而实现代码的复用。