同样的动作在第二次派发时不会调用传奇,而在第一次平局时却能正确调用。

问题描述 投票:0回答:1

当传奇在第一次加载后被调用一个动作时,它的工作是正确的,但当同一个动作在传奇上执行两次时,动作被发送,但传奇从来没有收到它。

useEffect(() => {
		if (show) {
			updateTitle(message.title);
			if (!status || status === Status.Initiate) {
				createStatus();
			}
		}
		return () => {
			if (!show) {
				cleanup();
			}
		};

	}, [status]);
reactjs typescript react-redux react-hooks redux-saga
1个回答
0
投票

下面的过程解决了我的问题。

原来,在运行时,如果某个saga执行失败,该saga就不会再被调用,也就是说,如果对该saga产生了任何操作,都会被忽略。

为了检查saga是否在运行时失败,你可以将saga的主体包裹在try catch块中。

function* failingSaga() {
  try {
  
    // saga-body
  } catch(e) {
    console.log(e);
  }
}

这将有助于了解异常是什么。

© www.soinside.com 2019 - 2024. All rights reserved.