React-Redux 项目教程
1. 项目的目录结构及介绍
React-Redux 项目的目录结构如下:
/react-redux
├── .github
├── docs
├── es
├── lib
├── scripts
├── src
├── test
├── .babelrc
├── .eslintignore
├── .eslintrc
├── .gitignore
├── .npmignore
├── .prettierrc
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── package.json
├── README.md
├── tsconfig.json
└── yarn.lock
目录介绍:
- .github: 包含 GitHub 相关的配置文件,如 issue 模板和 PR 模板。
- docs: 包含项目的文档文件。
- es: 包含 ES6 模块格式的代码。
- lib: 包含编译后的 CommonJS 格式的代码。
- scripts: 包含项目构建和测试的脚本。
- src: 包含项目的源代码。
- test: 包含项目的测试代码。
- .babelrc: Babel 配置文件。
- .eslintignore: ESLint 忽略文件配置。
- .eslintrc: ESLint 配置文件。
- .gitignore: Git 忽略文件配置。
- .npmignore: npm 忽略文件配置。
- .prettierrc: Prettier 配置文件。
- CHANGELOG.md: 项目变更日志。
- CONTRIBUTING.md: 贡献指南。
- LICENSE.md: 项目许可证。
- package.json: 项目依赖和脚本配置。
- README.md: 项目说明文档。
- tsconfig.json: TypeScript 配置文件。
- yarn.lock: Yarn 锁定文件。
2. 项目的启动文件介绍
React-Redux 项目的启动文件主要位于 src
目录下。主要的启动文件包括:
- src/index.js: 这是项目的入口文件,负责导出 React-Redux 的主要功能。
// src/index.js
import Provider from './components/Provider'
import connect from './connect/connect'
import { ReactReduxContext } from './components/Context'
import { setBatch } from './utils/batch'
import { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates'
import { useDispatch, useSelector, useStore } from './hooks'
setBatch(batch)
export {
Provider,
connect,
ReactReduxContext,
useDispatch,
useSelector,
useStore
}
3. 项目的配置文件介绍
React-Redux 项目的配置文件主要包括:
- .babelrc: Babel 配置文件,用于转译 JavaScript 代码。
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread"
]
}
- .eslintrc: ESLint 配置文件,用于代码风格检查。
{
"parser": "babel-eslint",
"extends": ["eslint:recommended", "plugin:react/recommended"],
"plugins": ["react", "react-hooks"],
"rules": {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn"
}
}
- tsconfig.json: TypeScript 配置文件,用于 TypeScript 项目的编译配置。
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "es2015"],
"module": "commonjs",
"jsx": "react",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src"]
}
这些配置文件确保了项目的代码质量和构建流程的正确性。