useEffect导致错误消息多次弹出

时间:2020-08-09 02:24:51

标签: reactjs redux react-redux react-hooks use-effect

我有一个选择器,用于检索状态中的错误。这只是一个布尔值。

const error = useSelector((state: IAppState) => {
  return state?.error?.securityProfileError
})

True表示有错误。 False表示没有错误。

这是我的代码。

const error = useSelector((state: IAppState) => {
  return state?.error?.securityProfileError
})

useEffect(() => {
  if (error) showToast(lang.messages.errors.profile)
})

如您所见,在useEffect挂钩内,我检查是否有错误,如果有错误,我会举杯敬酒。

这是问题所在。

由于useEffect被多次调用,并且error可以保持true,因此我收到了多条吐司消息。我只想要一个。

但是,我不能像这样使用useEffect ...

  useEffect(() => {
    // do stuff
  }, []);

因为它只触发一次,并且如果errorfalse开头但又转到true,我的吐司面包就再也没有出现,因为……好吧,{{ 1}}仅触发一次。

所以,我不确定在这里做什么。

很好奇听到您的建议。

0 个答案:

没有答案