likes
comments
collection
share

react+umi+dvajs 实战演练2

作者站长头像
站长
· 阅读数 61

使用 React、Umi 和 dva.js 搭建和启动项目

本文将介绍如何使用 React、Umi 和 dva.js 框架来搭建和启动一个基本的前端项目,并演示如何调用接口 API。

## 引言 随着前端技术的日新月异,React和Umi作为前端领域中的佼佼者,它们的结合为我们提供了一种构建高效Web应用的新思路。React作为Facebook开发的一款JavaScript库,用于构建用户界面,具有声明式、组件化、高效等特点;而Umi则是一款可扩展的企业级前端应用框架,它基于React,提供了路由、构建、部署等一系列开发体验的优化。

目录结构

在使用 Umi 和 dva.js 搭建项目时,通常会遵循以下目录结构:

- src/
  - models/        # 存放 dva.js 的模型文件
  - services/      # 存放接口 API 的服务文件
  - pages/         # 存放页面组件
  - layouts/       # 存放布局组件
  - components/    # 存放通用组件
  - utils/         # 存放工具函数
  - app.ts         # Umi 应用程序配置文件
  - global.less    # 全局样式文件

步骤 1:安装 Node.js 和 npm

首先,确保你的计算机上已经安装了 Node.js 和 npm。你可以从官方网站(nodejs.org)下载并安装最新版本的 Node.js。

步骤 2:创建新项目

打开终端或命令提示符,并进入你想要创建项目的目录。

运行以下命令来创建一个新的 Umi 项目:

$ npx create-umi@latest init

按照提示选择你想要的项目配置,例如选择 TypeScript、Ant Design 等。

步骤 3:安装依赖

进入新创建的项目目录,并运行以下命令来安装项目的依赖:

$ npm install

这将安装项目所需的所有依赖项。

步骤 4:编写代码

在项目目录中,你可以开始编写你的 React 组件和页面。

src/models 目录下创建 dva.js 的模型文件,例如 src/models/user.ts

import { Effect, Reducer } from 'umi';
import { getUserInfo } from '@/services/user';
export interface UserModelState {
  name: string;
  age: number;
}
export interface UserModelType {
  namespace: 'user';
  state: UserModelState;
  effects: {
    fetchUserInfo: Effect;
  };
  reducers: {
    saveUserInfo: Reducer<UserModelState>;
  };
}
const UserModel: UserModelType = {
  namespace: 'user',
  state: {
    name: '',
    age: 0,
  },
  effects: {
    *fetchUserInfo(_, { call, put }) {
      const response = yield call(getUserInfo);
      yield put({
        type: 'saveUserInfo',
        payload: response,
      });
    },
  },
  reducers: {
    saveUserInfo(state, action) {
      return {
        ...state,
        ...action.payload,
      };
    },
  },
};

export default UserModel;

src/services 目录下创建接口 API 的服务文件,例如 src/services/user.ts

import request from '@/utils/request';
export async function getUserInfo() {
return request('/api/user');
}

src/pages 目录下创建页面文件,例如 src/pages/index.tsx

import React, { useEffect } from 'react';
import { connect, Dispatch } from 'umi';
import { UserModelState } from '@/models/user';

interface HomePageProps {
  user: UserModelState;
  dispatch: Dispatch;
}

const HomePage: React.FC<HomePageProps> = ({ user, dispatch }) => {
  useEffect(() => {
    dispatch({
      type: 'user/fetchUserInfo',
    });
  }, [dispatch]);

  return (
    <div>
      <h1>Welcome to My App!</h1>
      <p>This is the home page.</p>
      <p>User Name: {user.name}</p>
      <p>User Age: {user.age}</p>
    </div>
  );
};

export default connect(({ user }: { user: UserModelState }) => ({ user }))(HomePage);

步骤 5:启动项目

在项目目录中,运行以下命令来启动项目:

$ npm start

这将启动开发服务器,并在浏览器中打开项目。

现在,你可以在浏览器中访问 http://localhost:8000,看到你的应用程序正在运行。

结论

恭喜!你已经成功使用 React、Umi 和 dva.js 搭建和启动了一个基本的前端项目,并演示了如何调用接口 API。

希望本文对你有所帮助,祝你在使用 React、Umi 和 dva.js 进行开发时取得成功!

以上就是使用 React、Umi 和 dva.js 搭建和启动项目的实操指南。祝你顺利进行项目开发!

请注意,这只是一个基本的示例,你可以根据实际需求进行更复杂的开发和配置。

```
转载自:https://juejin.cn/post/7365830295393910803
评论
请登录