Redux Form 项目教程
1. 项目的目录结构及介绍
Redux Form 项目的目录结构如下:
redux-form/
├── docs/
├── examples/
├── src/
│ ├── actions/
│ ├── components/
│ ├── reducer/
│ ├── selectores/
│ ├── util/
│ ├── index.js
│ └── reduxForm.js
├── .gitignore
├── .npmignore
├── .travis.yml
├── LICENSE
├── README.md
├── package.json
└── yarn.lock
目录介绍
docs/
: 包含项目的文档文件。examples/
: 包含项目的示例代码。src/
: 包含项目的主要源代码。actions/
: 包含 Redux 动作创建器。components/
: 包含 React 组件。reducer/
: 包含 Redux reducer。selectors/
: 包含 Redux 选择器。util/
: 包含实用工具函数。index.js
: 项目的入口文件。reduxForm.js
: 核心的高阶组件文件。
.gitignore
: Git 忽略文件。.npmignore
: npm 忽略文件。.travis.yml
: Travis CI 配置文件。LICENSE
: 项目许可证。README.md
: 项目说明文档。package.json
: 项目的 npm 配置文件。yarn.lock
: Yarn 锁定文件。
2. 项目的启动文件介绍
项目的启动文件是 src/index.js
,它是整个项目的入口点。这个文件主要负责导出项目的主要功能和组件。
// src/index.js
import reduxForm from './reduxForm';
import reducer from './reducer';
import * as actions from './actions';
import * as components from './components';
import * as selectors from './selectors';
import * as util from './util';
export {
reduxForm,
reducer,
actions,
components,
selectors,
util,
};
3. 项目的配置文件介绍
项目的配置文件主要是 package.json
,它包含了项目的依赖、脚本和其他配置信息。
{
"name": "redux-form",
"version": "8.3.7",
"description": "A Higher Order Component using react-redux to keep form state in a Redux store",
"main": "lib/index.js",
"module": "es/index.js",
"files": [
"lib",
"es",
"dist"
],
"scripts": {
"build": "npm run build-lib && npm run build-es && npm run build-dist",
"build-lib": "babel src --out-dir lib --ignore __tests__",
"build-es": "cross-env BABEL_ENV=es babel src --out-dir es --ignore __tests__",
"build-dist": "cross-env NODE_ENV=production webpack --config webpack.config.js",
"test": "jest"
},
"dependencies": {
"hoist-non-react-statics": "^3.3.2",
"is-promise": "^2.1.0",
"lodash": "^4.17.15",
"prop-types": "^15.7.2",
"react-is": "^16.13.1"
},
"peerDependencies": {
"react": "^16.8.0",
"react-dom": "^16.8.0",
"redux": "^4.0.0",
"react-redux": "^7.0.0"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@babel/preset-react": "^7.8.3",
"babel-loader": "^8.0.6",
"cross-env": "^7.0.0",
"jest":
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考