Taro适配器
提示
此插件只支持 react 16.8+、vue3 版本的 taro 应用。
安装
- npm
- yarn
- pnpm
npm install alova @alova/adapter-taro --save
yarn add alova @alova/adapter-taro
pnpm install alova @alova/adapter-taro
React-Native 应用
如果你正在使用 Taro 开发 React-Native 应用,请确保metro >= 0.76.0,并在metro.config.js中开启resolver.unstable_enablePackageExports
依赖预编译问题
在 Taro v3.5 beta 中新增了依赖预编译功能并在开发模式下默认开启,当你正在 Taro 中同时使用alova库和@alova/scene-react(vue)时可能导致报 [alova]can not call useHooks until set the `statesHook` at alova instance.的错误,这是由于 prebundle 功能重复打包了两份不同的alova包导致,此时关闭 prebundle 功能即可解决此问题。
// config/dev.ts
export default {
// ...
compiler: {
type: 'webpack5',
prebundle: {
// 关闭prebundle
enable: false
}
}
} satisfies UserConfigExport
此问题已向 Taro 团队提交issue,期待解决此问题。
使用方法
创建 alova
调用 AdapterTaro 将返回请求适配器、存储适配器,以及ReactHook,因此你不再需要设置这三个项,使用方法完全一致。
- react
- vue
import { createAlova } from 'alova';
import AdapterTaro from '@alova/adapter-taro';
const alovaInst = createAlova({
baseURL: 'https://api.alovajs.org',
...AdapterTaro()
});
import { createAlova } from 'alova';
import AdapterTaroVue from '@alova/adapter-taro/vue';
const alovaInst = createAlova({
baseURL: 'https://api.alovajs.org',
...AdapterTaroVue()
});