从诺言中调用自定义挂钩?

时间:2020-05-15 10:25:32

标签: react-hooks

我有一个自定义钩子,需要通过2个事件调用它。事件getInitialURL中的一个返回承诺:

const RespondToUrlComponent: React.FC<Props> = () => {
  const setParamsFromUrl = useSetParamsFromUrl();

  Linking.addEventListener("url", e => {
    setParamsFromUrl.set(e.url);
  });

  Linking.getInitialURL().then(res => {
    if (res) {
      setParamsFromUrl.set(res);
    }
  });

  return null;
};

这会导致错误:

[未处理的承诺拒绝:永久违反:无效的挂接调用。挂钩只能在功能组件的主体内部调用。发生这种情况可能是由于以下原因之一:]

我知道不能有条件地调用钩子,我也没有发布不能从诺言中调用钩子的信息。我该如何解决?

我可以将getInitialURLuseState一起使用,以在诺言返回时加载组件,并将自定义钩子放入该组件中。但是,这似乎是间接的。

0 个答案:

没有答案
相关问题