使用 Mirage 在 React Native 中模拟 API 请求

模拟您的 React Native 应用程序的 API 请求,以便您无需任何后端服务即可开发您的应用程序。

这是熟悉 Mirage 的用户的快速入门指南。如果您是 Mirage 的新手,请查看概述

步骤 1:安装 Mirage

首先,确保您已安装 Mirage

# Using npm
npm install --save-dev miragejs

# Using Yarn
yarn add --dev miragejs

步骤 2:在您的网络代码旁边创建一个服务器

App.js 的顶部,从 Mirage 导入 Server,创建服务器并开始模拟代码需要的 API 端点

import React from "react"
import { Text, View } from "react-native"
import { createServer } from "miragejs"

if (window.server) {
  server.shutdown()
}

window.server = createServer({
  routes() {
    this.get("/api/movies", () => {
      return {
        movies: [
          { id: 1, name: "Inception", year: 2010 },
          { id: 2, name: "Interstellar", year: 2014 },
          { id: 3, name: "Dunkirk", year: 2017 },
        ],
      }
    })
  },
})

export default function App() {
  let [movies, setMovies] = React.useState([])

  React.useEffect(() => {
    fetch("/api/movies")
      .then((res) => res.json())
      .then((json) => setMovies(json.movies))
  }, [])

  return (
    <View>
      {movies.map((movie) => (
        <Text key={movie.id}>
          {movie.name} ({movie.year})
        </Text>
      ))}
    </View>
  )
}

请注意,在我们调用 createServer() 之前,我们会检查是否已经存在服务器,如果存在,则将其关闭。这是因为 React Native 的热模块重载会导致同时存在多个服务器。

现在,无论何时您的应用程序发出 API 请求,Mirage 都会拦截并对其进行响应。

您已准备好继续开发您的 React Native 应用程序,并沿途使用 Mirage 模拟您的 API 端点。