ice/packages/plugin-request
lxzy-yun 7be032109f
Update hooks.ts (#7033)
去掉默认空数组的赋值,避免 ts 报错
2024-12-18 13:48:34 +08:00
..
src Update hooks.ts (#7033) 2024-12-18 13:48:34 +08:00
CHANGELOG.md chore: update versions (#6884) 2024-05-30 10:08:41 +08:00
README.md chore: optimize (#676) 2022-11-15 10:33:11 +08:00
hooks.d.ts fix: request plugin type and usage (#5992) 2023-03-01 18:00:59 +08:00
package.json chore: update versions (#6884) 2024-05-30 10:08:41 +08:00
request.d.ts fix: request plugin type and usage (#5992) 2023-03-01 18:00:59 +08:00
runtime.d.ts fix: import path of types and runtime (#5981) 2023-02-28 15:08:10 +08:00
tsconfig.json Plugin/request (#439) 2022-11-15 10:30:37 +08:00
types.d.ts fix: import path of types and runtime (#5981) 2023-02-28 15:08:10 +08:00

README.md

@ice/plugin-request

Provides a unified request method for ice.js projects.

Usage

$ npm i @ice/plugin-request -S

Add plugin.

import { defineConfig } from '@ice/app';
import request from '@ice/plugin-request';

export default defineConfig(() => ({
  plugins: [
    request(),
  ],
}));

API

request

import { request } from 'ice';

export async function getUser(id) {
  return await request(`/api/user/${id}`);
}

useRequest

import { useEffect } from 'react';
import { useRequest } from 'ice';

export default function Home() {
  const {
    data,
    error,
    loading,
    request
  } = useRequest(service.getUser);

  useEffect(() => {
    request();
  }, []);

  if (error) {
    return <div>failed to load</div>;
  }
  if (!data || loading) {
    return <div>loading...</div>;
  }
  return (
    <h2 className={styles.title}>
      Name: {data.name} Age: {data.age}
    </h2>
  );
}