前端模块化的演变

commonjs commonjs是专攻服务器的,由于它的api简单直接,在nodejs中推广开来。 commonjs规范是无法用在浏览器的,主要原因在于: 在服务端和浏览器环模块的加载方式截然不同。 服务器中加载一个模块直接在硬盘中读取文件就可以了 但浏览器环境需要动态的创建script标签,然后异步加载模块,并且要等到模块执行完成,才能够使用其中的API. 浏览器端模块化的尝试 1 直接把commonjs闺房封装到浏览器环境(browserify) 2 异步加载模块,依赖前置(AMD) 3 异步加载模块,按需加载(CMD) 1)AMD (requirejs)...

1 minute read

Redux API

redux的作用是什么呢 Redux专门用于管理状态。 Redux的主要优势之一是它可以帮你处理应用的共享状态。如果两个组件需要访问同一状态,该怎么办?这种两个组件同时需要访问同一状态的现象称为“共享状态”。 redux有哪些API? createStore(reducer,[preloadState],enhancer/middleware) combineReducers(reducers) compose(…functions) applyMiddleware(middlewares) bindActionCreators(actionCreators,dispatch) 1)createStore(reducer,[preloadState],enhancer/middleware) 创建 Redux store 来存放状态。 enhancer...

4 minute read

React API

react是什么 React是Facrbook内部的一个JavaScript类库,它引入了一种新的方式来处理浏览器DOM。 React为了尽可能减少对DOM的操作,提供了Virtual DOM(就是React抽象出来的一个对象,描述dom应该什么样子的,应该如何呈现。)去更新真实的DOM。 为什么通过这多一层的Virtual DOM操作就能更快呢?React有个diff算法,然后利用这个diff算法,通过当前新的dom表述与之前的作比较,计算出最小的步骤更新真实的DOM。 React本质上只关心两件事:1.更新DOM;2.响应事件。 react 和 react-dom React 0.14 发布,拆分为 react 和...

1 minute read

react-router 与 react-router-dom 的区别

react-router-dom的产生 React Router 4.0 采用单代码仓库模型架构(monorepo),这意味者这个仓库里面有若干相互独立的包,分别是: react-router React Router 核心 react-router-dom 用于 DOM 绑定的 React Router...

1 minute read

react-router-redux还需要用吗

react-router-redux是什么 是将react-router 和 redux 集成到一起的库,让你可以用redux的方式去操作react-router。 本质上,是把react-router自己维护的状态,例如location、history、path等等,也交给redux管理 。 以前的用法 routerActions 实现了组件内部跳转~ import {routerActions} from 'react-router-redux' import...

2 minute read

React-redux

React-redux是什么 react-redux在redux的基础上,就关注两点:Provider和connect。 React-redux API Provider Provider就是把我们用rudux创建的store传递到内部的其他组件。让内部组件可以享有这个store并提供对state的更新。 const render = Component => { ReactDOM.render( <Provider store...

11 minute read

浏览器的渲染

浏览器都做了什么 我们希望浏览器打开一个简单的网页 <!DOCTYPE html> <html> <head> <title>The "Click the button" page</title> <meta charset="UTF-8"/> <link rel="stylesheet"...

3 minute read