alibaba / hooks

A high-quality & reliable React Hooks library. https://ahooks.pages.dev/
https://ahooks.js.org/
MIT License
13.91k stars 2.69k forks source link

useRequest有bug #393

Closed xu-Aurora closed 4 years ago

xu-Aurora commented 4 years ago

onSuccess函数,第一个参数打印是undefined,用的事官网的例子,全是官网的代码,亲测

xu-Aurora commented 4 years ago

import { useRequest } from '@umijs/hooks'; import { Button, Input, message } from 'antd'; import React, { useState } from 'react';

function changeUsername(username: string): Promise<{ success: boolean }> { console.log(username); return new Promise(resolve => { setTimeout(() => { resolve({ success: true }); }, 1000); }); }

export default () => { const [state, setState] = useState(''); const { loading, run } = useRequest(changeUsername, { manual: true, onSuccess: (result, params) => { if (result.success) { setState(''); message.success(The username was changed to "${params[0]}" !); } } });

return (

setState(e.target.value)} value={state} placeholder="Please enter username" style={{ width: 240, marginRight: 16 }} />

); };

xu-Aurora commented 4 years ago

官网的例子,result打印的是undefined

xu-Aurora commented 4 years ago

最终发现,是umi框架自带的useRequest是有bug的,单独下载的包umi-hooks的useRequest是没有bug的

brickspert commented 4 years ago

umi 里面的 useRequest 要求相应的结果必须是这样 {data: {xxx}} ,要用 data 包一下。

xu-Aurora commented 4 years ago

这个库那有配合dva使用的不,我自己试了下不知道怎么弄,有相关的例子或者demo链接不,我想去学习下

xu-Aurora commented 4 years ago

umi 里面的 useRequest 要求相应的结果必须是这样 {data: {xxx}} ,要用 data 包一下。 这个库那有配合dva使用的不,我自己试了下不知道怎么弄,有相关的例子或者demo链接不,我想去学习下

brickspert commented 4 years ago

useRequest 和 dva 不好结合用的呢。

xu-Aurora commented 4 years ago

useRequest 和 dva 不好结合用的呢。

那就是说用了这个库就没有办法达到把获取到的数据放到redux中了?