Open soraping opened 5 years ago
redux 工作流
redux
redux 源码目录结构
├── applyMiddleware.js ├── bindActionCreators.js ├── combineReducers.js ├── compose.js ├── createStore.js ├── index.js └── utils ├── actionTypes.js ├── isPlainObject.js └── warning.js
通过源码目录可以看出 redux 的内容是非常少的,但其精髓却非常值得深挖。
function isCrushed() {} if ( process.env.NODE_ENV !== "production" && typeof isCrushed.name === "string" && isCrushed.name !== "isCrushed" ) { warning("..."); }
定义了一个空方法 isCrushed(),主要是验证在非生产环境下 Redux 是否被压缩(因为在生产环境下,空方法会被 kill 的,那么 (isCrushed.name !== 'isCrushed') 就是 true),如果被压缩会给开发者一个 warn 提示)。
isCrushed()
export { createStore, combineReducers, bindActionCreators, applyMiddleware, compose, __DO_NOT_USE__ActionTypes };
入口文件暴露出这些个模块,__DO_NOT_USE__ActionTypes 定义了一些内置的几个 ActionTypes,就是让用户在自己的应用里 do not use,因为 redux 内部使用了。
__DO_NOT_USE__ActionTypes
do not use
简述
redux
工作流redux
源码目录结构通过源码目录可以看出
redux
的内容是非常少的,但其精髓却非常值得深挖。入口(index.js)
定义了一个空方法
isCrushed()
,主要是验证在非生产环境下 Redux 是否被压缩(因为在生产环境下,空方法会被 kill 的,那么 (isCrushed.name !== 'isCrushed') 就是 true),如果被压缩会给开发者一个 warn 提示)。入口文件暴露出这些个模块,
__DO_NOT_USE__ActionTypes
定义了一些内置的几个 ActionTypes,就是让用户在自己的应用里do not use
,因为redux
内部使用了。