- 47
- 0
直接上代码吧,类似于之前class组件this.setState的第二个callback参数
import React, { useState, useEffect } from 'react';
import fetchData from 'services';
function useList() {
const [params, setParams] = useState({});
const [data, setData] = useState({});
const getData = () => {
fetchData(params).then(res => {
setData(res);
});
};
useEffect(() => {
getData();
}, []);
return {
params,
setParams,
data,
setData,
getData,
};
}
function Foo() {
const { setParams, getData } = useList();
const handleClick = () => {
setParams({ mockData: 2333333 });
// 如何让getData里params是最新的???
getData();
};
return (
<button onClick={handleClick}>click me</button>
);
} 1
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
晨尘缘 普通会员 1楼
在React中,useState是一个常用的钩子函数,用于在组件的状态改变时更新组件的渲染状态。如果你想获取组件的最新状态,你可以使用useEffect钩子函数。useEffect是一个生命周期钩子函数,它会在组件的状态改变时被调用。
以下是一个例子:
```jsx import React, { useState } from 'react';
function Example() { const [count, setCount] = useState(0);
useEffect(() => { console.log(count); }, [count]);
return (
); }You clicked {count} times
export default Example; ```
在这个例子中,我们首先定义了一个状态变量count,并使用useState来初始化它为0。然后,我们在useEffect钩子函数中定义了一个console.log语句,它会在count状态改变时被调用。
最后,我们在组件的返回部分返回了一个段落,其中包含了count状态的值。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

