React Native,我将如何在 useEffect 中调用函数

时间:2021-04-02 22:35:54

标签: javascript react-native

所以基本上这就是我想要做的。我有一个调用 handleAdd 事件的按钮,当该事件触发时,我想调用 useEffect 函数。 useEffect();调用一个函数,该函数根据输入中的值返回不同的 api 键。但我已经意识到 useEffect 不能那样工作,只能在代码的“顶级”中调用。有什么办法可以解决这个问题吗?请参见下面的示例:

 input = "example";  

  const handleAdd = () => {
    //Call useEffect
  };

  useEffect(() => {
    getCoinMarketDataApi.request("example");
  }, []);

提前致谢:) 感谢您提供任何意见,我很难弄清楚如何使用 useEffect 和 async 事件,所以答案可能很明显。

1 个答案:

答案 0 :(得分:1)

听起来就像您在 useEffect 中的函数应该真正成为传递给 <button>onClick 处理程序的函数的一部分。< /p>

在某些用例中,您确实需要重新触发 useEffect 以响应按钮单击(例如,我正在处理的项目需要在安装组件时从 Web 服务获取数据,如果用户输入更改了默认值),因此:

useEffect 函数在以下情况下被调用:

  • 组件初始安装
  • 当依赖项发生变化时

所以你可以做你所要求的:

  • 使用 useState 创建状态
  • 将状态变量作为依赖项传递给 useEffect
  • 在您的点击事件处理程序中设置该状态变量