首页 > 社交 > 科普中国

理解了状态管理,就理解了前端开发的核心​

常驻编辑 科普中国 2022-05-17 状态   视图   全局   组件   框架   逻辑   对象   核心   过程   方案   数据
Wka拜客生活常识网

@observerWka拜客生活常识网

class TodoListView extends Component {Wka拜客生活常识网

render() {Wka拜客生活常识网

return Wka拜客生活常识网

    Wka拜客生活常识网

    {this.props.todoList.todos.map(todo =>Wka拜客生活常识网

    Wka拜客生活常识网

    )}Wka拜客生活常识网

Wka拜客生活常识网

Tasks left: {this.props.todoList.unfinishedTodoCount}Wka拜客生活常识网

Wka拜客生活常识网

}Wka拜客生活常识网

}Wka拜客生活常识网


Wka拜客生活常识网

const TodoView = observer(({todo}) =>Wka拜客生活常识网

  • Wka拜客生活常识网

    Wka拜客生活常识网

    type="checkbox"Wka拜客生活常识网

    checked={todo.finished}Wka拜客生活常识网

    onClick={() => todo.finished = !todo.finished}Wka拜客生活常识网

    />{todo.title}Wka拜客生活常识网

  • Wka拜客生活常识网

    )Wka拜客生活常识网


    Wka拜客生活常识网

    const store = new TodoList();Wka拜客生活常识网

    ReactDOM.render(, document.getElementById('mount'));Wka拜客生活常识网

    vuex 则像是两种思路的结合,内部是用响应式代理来实现的变化监听,但是暴露出的 api 却是 redux 的 action 那一套。Wka拜客生活常识网


    Wka拜客生活常识网

    图片Wka拜客生活常识网

    和 React 搭配使用的话,需要把组件添加到状态的依赖中,这个不用自己调用 subscribe 之类的 api,直接用一些封装好的高阶组件(接受组件作为参数返回新的组件的组件)就行,比如 react-redux 的 connect,mobx-react 的 observer。Wka拜客生活常识网


    Wka拜客生活常识网

    总结Wka拜客生活常识网

    讲了这么多,回过头来看一下就会发现:Wka拜客生活常识网


    Wka拜客生活常识网

    不管是前端框架内置的组件内状态变化管理的方案(react 的 setState、vue 的直接修改 data),还是前端框架提供的组件间的状态管理方案(props、react 的 context、vue 的 event bus),或是第三方的全局状态管理方案(redux、vuex、mobx 等),都没有脱离那两种实现状态管理的方式:提供修改状态的 api 或者对状态对象做一层响应式代理。也没有脱离状态管理的两层含义:对状态变化前的异步过程做管理,状态变化后做联动处理。只不过它们用在了不同的地方(前端框架内、全局状态管理库),提供了不同的封装形式(对象、函数),基于不同的思想(函数式、面向对象)结合了不同的异步管理方案(rxjs、generator + 自定义执行器)。Wka拜客生活常识网


    Wka拜客生活常识网

    所以,状态就是数据的变化。前端应用的核心问题就是管理状态,管理状态变化之前的通过视图或者其他方式触发的异步过程,管理状态变化之后的联动渲染和联动的逻辑执行。Wka拜客生活常识网


    Wka拜客生活常识网

    虽然我们会用不同的前端框架,不同的全局状态管理库,结合不同的异步过程处理方案,但是思想都是一样的。Wka拜客生活常识网


    Wka拜客生活常识网

    毫不夸张地说,理解了状态管理,就理解了前端开发的核心Wka拜客生活常识网

    相关阅读:

  • 《屋檐之夏》嘉宾居然有她,琼瑶女郎,如今的状态怎么样
  • 许晴52岁状态,红毯走秀气质好,与杨洋合影梦回花少
  • 谭松韵状态很好,脸蛋圆嘟嘟,看起来仿佛还是一个高中生
  • 王子文分享95楼外的苏州,场景固然美丽,状态成为亮点
  • 吴倩29岁状态曝光,生日写真公开最新状态,不愧是女明星
  • 欧阳娜娜出席活动状态好,绝美妆容颜值爆表,网友:全场最佳
  • 许晴如梦之梦状态,非常漂亮,状态很好看起来非常年轻
  • 刘亦菲逛街状态引称赞,女神随手搭配就是时装风格,状态好
  • 王冰冰状态曝光,皮肤白皙,长相非常可爱业务能力很强
  • 杨洋30岁状态,状态很好,和二十岁的时候没什么不同
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。