所以基本上这就是我想要做的。我有一个调用 handleAdd 事件的按钮,当该事件触发时,我想调用 useEffect 函数。 useEffect();调用一个函数,该函数根据输入中的值返回不同的 api 键。但我已经意识到 useEffect 不能那样工作,只能在代码的“顶级”中调用。有什么办法可以解决这个问题吗?请参见下面的示例:
input = "example";
const handleAdd = () => {
//Call useEffect
};
useEffect(() => {
getCoinMarketDataApi.request("example");
}, []);
提前致谢:) 感谢您提供任何意见,我很难弄清楚如何使用 useEffect 和 async 事件,所以答案可能很明显。
答案 0 :(得分:1)
它听起来就像您在 useEffect
中的函数应该真正成为传递给 <button>
的 onClick
处理程序的函数的一部分。< /p>
在某些用例中,您确实需要重新触发 useEffect
以响应按钮单击(例如,我正在处理的项目需要在安装组件时从 Web 服务获取数据,如果用户输入更改了默认值),因此:
useEffect
函数在以下情况下被调用:
所以你可以做你所要求的:
useState
创建状态useEffect