React Kanban 项目教程
1. 项目的目录结构及介绍
react-kanban/
├── public/
│ ├── index.html
│ └── manifest.json
├── src/
│ ├── assets/
│ ├── components/
│ │ ├── Board.js
│ │ ├── Column.js
│ │ ├── Task.js
│ │ └── ...
│ ├── contexts/
│ │ └── BoardContext.js
│ ├── hooks/
│ │ └── useBoard.js
│ ├── styles/
│ │ ├── main.css
│ │ └── ...
│ ├── App.js
│ ├── index.js
│ └── ...
├── package.json
└── README.md
目录结构介绍
- public/: 包含公共资源文件,如
index.html
和manifest.json
。 - src/: 源代码目录,包含所有 React 组件和应用逻辑。
- assets/: 存放静态资源,如图片等。
- components/: 包含所有 React 组件,如
Board.js
,Column.js
,Task.js
等。 - contexts/: 存放应用上下文,如
BoardContext.js
。 - hooks/: 自定义 Hooks,如
useBoard.js
。 - styles/: 样式文件,如
main.css
。 - App.js: 主应用组件。
- index.js: 应用入口文件。
- package.json: 项目依赖和脚本配置文件。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
index.js
index.js
是项目的入口文件,负责渲染 React 应用到 DOM 中。
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './styles/main.css';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
App.js
App.js
是主应用组件,负责组织和渲染整个应用的结构。
import React from 'react';
import Board from './components/Board';
import { BoardProvider } from './contexts/BoardContext';
function App() {
return (
<BoardProvider>
<div className="App">
<Board />
</div>
</BoardProvider>
);
}
export default App;
3. 项目的配置文件介绍
package.json
package.json
包含了项目的依赖、脚本和其他配置信息。
{
"name": "react-kanban",
"version": "1.0.0",
"description": "A simple Kanban board built with React",
"main": "src/index.js",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"styled-components": "^5.3.0"
},
"devDependencies": {
"eslint": "^7.23.0",
"eslint-config-react-app": "^6.0.0",
"eslint-plugin-react": "^7.23.1"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
.env
.env
文件用于配置环境变量,如 API 地址、端口号等。
REACT_APP_API_URL=http